Facet / edge values in DG

Dear All,
In a piecewise constant dG(0) scheme it is convenient to address the average and jump across an interface / edge as avg(u) and jump(u, n), respectively.
For example a time-implicit, Lax-Friedrichs type scheme can be written as
F = (u - u0)phidx + dt*inner( avg(f) + avg(d)/avg(h)*jump(u, n) , jump(phi, n) )*dS
with f = f(u) the flux, d the effective diffusion coefficient, and h the mesh size (CellDiameter).
The average and jump operators are defined by one-sided limits:
avg(f) = ( f(+) + f(-) )/2 and jump(u, n) = ( u(+) - u(-) ) n, respectively.
In an attempt to implement TVD limited slopes for higher accuracy, we have verified functions that compute one-sided TVD limits for the unknown u(+) and u(-) at all internal edges dS. These are computed as point values in a loop over all cells and their edges.
My question now is: How can I store these point values in order to address them as avg(f) with f = f(u) in the weak form F above?
Any hint is very welcome!
best regards, Achim