pub fn zerofinder(
    f: &File,
    params: &ZeroFinderParams
) -> Result<ZeroFinderResult, Error>
Expand description

Computes a g2 histogram with a limited buffer size.

The implementation is equivalent to running the g2 algorithm with buffer sizes of 1. This introduces an exponential decay around the zero delay in the histogram which can be used to find the zero point via fitting.

The decay is equal to the inverse of the average intensity per channel. This is also the only relevant timescale when the two channels are just receiving two uncorrelated streams of clicks. See Finite Buffer Artifacts in the documentation for g2.

Setting up the measurement

To make the most accurate measurement possible of the delay you will need to send two uncorrelated streams of clicks into your channels. An easy way to accomplish such a thing in a photonics labs is to put a laser behind a 50/50 splitter. The higher the click rate the more accurate will be the resulting time delay estimation.

Choosing algorithm parameters

You should use a correlation window which is at least a couple of decay constants wide to allow for a good fit. Choose your bin resolution accordingly to avoid using up too much memory.

Fitting function

You need to fit the output histogram to the following function:

Double Decay Eqn