libtcspc C++ API
Streaming TCSPC and time tag data processing
Loading...
Searching...
No Matches
Time tag and TCSPC event types

Description

Logical events translated from raw device events.

Most of these events have an abstime field containing the absolute time (a.k.a. macrotime) of the event recorded by hardware. Usually the abstime is a monotonically increasing (non-decreasing) timestamp (but it is a good idea to verify this).

The abstime is an integer type whose values are in device units. Converting abstime to physical units would cause loss of information (and, in some cases, histogram artifacts); therefore libtcspc preserves exact discretized values for data. Conversion to physical units should be done when displaying final results to the user and is outside the scope of libtcspc.

Many of these events have a channel field containing the hardware channel on which the event was detected (a signed or unsigned integer whose range depends on the device). Note that some devices have more than one "channel space": for example, detection channels and marker channels may use an overlapping range of numbers despite being distinct.

Topics

 Lost data event types
 Events conveying information about lost detection counts.

Classes

struct  tcspc::bulk_counts_event< DataTypes >
 Event indicating number of detections from a non-time-tagging device. More...
struct  tcspc::detection_event< DataTypes >
 Event indicating a detected count. More...
struct  tcspc::marker_event< DataTypes >
 Event indicating a timing marker. More...
struct  tcspc::time_correlated_detection_event< DataTypes >
 Event indicating a detected count (typically photon) with difference time. More...
struct  tcspc::time_reached_event< DataTypes >
 Event indicating latest abstime reached. More...

Functions

template<typename DataTypes>
auto tcspc::operator<< (std::ostream &s, std::array< detection_event< DataTypes >, 2 > const &e) -> std::ostream &
 Stream insertion operator for tcspc::detection_event pairs.

Function Documentation

◆ operator<<()

template<typename DataTypes>
auto tcspc::operator<< ( std::ostream & s,
std::array< detection_event< DataTypes >, 2 > const & e ) -> std::ostream &

Stream insertion operator for tcspc::detection_event pairs.

As with all events' stream insertion operators, this is intended for unit testing.