Measurement Classes

The Time Tagger library includes several classes that implement various measurements. All measurements are derived from a base class called IteratorBase that is described further down. As the name suggests, it uses the iterator programming concept.

All measurements provide a set of methods to start and stop the execution and to access the accumulated data. In a typical application, the following steps are performed (see example):

  1. Create an instance of a measurement

  2. Wait for some time

  3. Retrieve the data accumulated by the measurement by calling a .getData() method.

Note

In MATLAB, the Measurement names have common prefix TT*. For example: Correlation is named as TTCorrelation. This prevents possible name collisions with existing MATLAB or user functions.

The available measurements are grouped by the following categories: Event counting, Time histograms, Fluorescence-lifetime imaging (FLIM), Phase & frequency analyses, Time-tag-streaming, and Helper classes.

All the existing classes are listed alphabetically below:

Correlation

Computes auto- and cross-correlations between channels.

CorrelationPairs

Computes auto- and cross-correlations between all pairs of a list of channels.

Counter

Counts events on one or more channels using fixed-width bins and a circular buffer output.

Countrate

Measures the average event rate on one or more channels.

CustomMeasurement

Implements a custom measurement by processing the raw time-tag stream with minimal overhead.

Dump

Deprecated - please use FileWriter instead. Writes raw time-tags to file in an uncompressed binary format.

FileReader

Reads time-tags from a compressed file written by the FileWriter measurement.

FileWriter

Writes time-tags into a file with a lossless compression. It replaces the Dump class.

Flim

Measures time histograms for fluorescence lifetime imaging.

FrequencyCounter

Measures frequency and phase evolution of periodic signals at periodic sampling intervals.

FrequencyStability

Analyzes the frequency stability of periodic signals at different time scales.

GatedCounter

Counts events on one or more channels within gates defined by one or two marker channels.

Histogram

Accumulates a histogram of time differences between two channels.

Histogram2D

Accumulates a 2D histogram of correlated time differences.

HistogramCustomBins

Accumulates a histogram of time differences using custom binning.

HistogramLogBins

Accumulates a histogram of time differences using logarithmic binning.

HistogramND

Accumulates an N-dimensional histogram of time differences.

IteratorBase

Provides a base class for implementing custom measurements.

PhaseNoise

Analyzes the phase stability of a periodic signal in the frequency domain.

PulsePerSecondMonitor

Monitors the timing and stability of 1 pulse-per-second (PPS) signals.

Sampler

Samples the digital state of channels triggered by another channel.

Scope

Detects signal edges for visualization, similar to a ultrafast logic analyzer.

StartStop

Accumulates a histogram of start-stop time differences between two channels.

SynchronizedMeasurements

Synchronizes multiple measurement instances for parallel acquisition and control.

TimeDifferences

Accumulates histograms of time differences between two channels, optionally swept using one or two trigger channels.

TimeDifferencesND

Accumulates multi-dimensional histograms of asynchronous time differences.

TimeTagStream

Provides low-level access to the raw time-tag stream for custom processing. See Raw Time-Tag-Stream access to get on overview about the possibilities for the raw time-tag-stream access.