phoq · src/phoq/instruments.py · PhotonCounter

Tagger Run, Line by Line

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
CNT-1 · CH1 SPD-1 · CH2 SPD-2RUN
1 / 1
acquire() detect() photons() click_probability() dead_bins() blind_after() result