Event types¶
Event classes describe, statically, the records that flow through a processing graph at run time.
Instances of these classes describe the event type; they are not themselves
instances of the run-time events. An EventInstance, built
via EventType.value(), is a concrete
event value. Event values can be sent into a running graph with
ExecutionContext.handle(), are
the form in which graph output is delivered to a PySink,
and can be inserted into a stream at compile time with
Prepend and Append.
Constructing and inspecting individual event values from Python is intended for
debugging and learning only and is extremely slow; production graphs process
events in compiled C++ and exchange bulk data via buckets. The efficient
production path across the Python/C++ boundary is bulk transfer through
buckets: ConstBucketEvent pushes a NumPy array into a
graph as input, BucketEvent delivers a bucket as a NumPy
array out to a PySink, and bucket-carrying events (such
as HistogramEvent) likewise deliver their carried bucket
as a NumPy array at a sink.
Bulk data can also enter and leave a graph through non-event mechanisms that
keep the transfer inside compiled code — for example the
Acquire processor, which pulls data into buckets from an
acquisition reader, and the binary stream processors
ReadBinaryStream and
WriteBinaryStream.
Some event types (those carrying timestamp and related data) are parameterized
by the exact numeric types used. NumericTraits objects
are used to specify these types.
Generic and core event types¶
Base, value, and container event types, and generic events used throughout the library.
Opaque marker for the type of events carried on a graph edge. |
|
A concrete event value: an |
|
A user-defined event type. |
|
Event carrying a contiguous array of elements of another event type. |
|
Event carrying a read-only contiguous array of elements of another event type. |
|
Event holding one of several event types, as a variant (tagged union). |
|
Event holding a fixed-size array of elements of another event type. |
|
Event indicating a non-fatal, recoverable issue detected by a processor. |
Device event types¶
Event types representing the raw records produced by specific TCSPC hardware.
Becker & Hickl device event types¶
Raw event records from Becker & Hickl devices.
Raw 32-bit FIFO record from Becker & Hickl SPC hardware. |
|
Raw 32-bit FIFO record from Becker & Hickl SPC-600/630 in 256-channel mode. |
|
Raw 48-bit FIFO record from Becker & Hickl SPC-600/630 in 4096-channel mode. |
PicoQuant device event types¶
Raw event records from PicoQuant devices.
Raw 32-bit FIFO record for PicoQuant PicoHarp 300 T2 format. |
|
Raw 32-bit FIFO record for PicoQuant HydraHarp V1 T2 format. |
|
Raw 32-bit FIFO record for PicoQuant T2 (Generic) format. |
|
Raw 32-bit FIFO record for PicoQuant PicoHarp 300 T3 format. |
|
Raw 32-bit FIFO record for PicoQuant HydraHarp V1 T3 format. |
|
Raw 32-bit FIFO record for PicoQuant T3 (Generic) format. |
Swabian device event types¶
Raw event records from Swabian Instruments devices.
Raw 16-byte tag record from a Swabian Time Tagger. |
Time tag and TCSPC event types¶
Decoded time tag and TCSPC event types used throughout processing.
Keep-alive event indicating that the data source has reached a given time. |
|
Event representing detection counts from a non-time-tagging counter. |
|
Event representing a detected count without time correlation. |
|
The canonical TCSPC detection event. |
|
Event representing a timing marker or external trigger. |
|
Event representing a pair of detections (a start and a stop). |
Lost data event types¶
Event types signaling lost or dropped data.
Event indicating that the data source detected a buffer overflow. |
|
Event marking the beginning of an interval in which counts were lost. |
|
Event marking the end of an interval in which counts were lost. |
|
Event indicating a number of counts that could not be time-tagged. |
Timing modeling event types¶
Event types describing modeled timing sequences.
Event describing a fitted periodic sequence of timing events. |
|
Event describing a single (one-shot) delayed timing. |
|
Event describing a linear (repeating) sequence of timings. |
Binning event types¶
Event types used in datapoint and bin-increment processing.
Event representing a scalar datapoint mapped from another event. |
|
Event representing a single increment of a histogram bin. |
|
Event carrying a cluster of histogram bin increments. |
Histogram event types¶
Event types carrying histograms and histogram arrays.
Event carrying a snapshot of a histogram after a bin increment. |
|
Event carrying the final accumulated histogram of a round. |
|
Event carrying a histogram array at the end of a completed scan. |
|
Event reporting progress while accumulating a histogram array. |
|
Event carrying the final accumulated histogram array of a round. |