1 / 1
acquire()
detect()
photons()
click_probability()
dead_bins()
blind_after()
result
How phoq's time tagger turns weak laser pulses on two single-photon detectors into click records, counts and coincidences. The walk follows one run through PhotonCounter.acquire() and the detector methods it calls, detect(), photons(), click_probability(), dead_bins() and blind_after(), then the result's counts and coincidences(). Every mark on the screen comes from the arrays those lines produced on the bench below: the lines were replayed with the same random seed and checked against acquire() itself, click for click.
laser −20 dBm, 100 ps pulses at 100 MHz → VOA 60 dB → 50:50 → SPD-1 (CH1) and SPD-2 (CH2), η 25 %, 1 kHz dark counts, 100 ns dead time CNT-1: 2000 bins per run, bin rate from the laser, delay compensation on, 1 sub-bin, chunks of 1000 bins