libtcspc C++ API
Streaming TCSPC and time tag data processing
Loading...
Searching...
No Matches
tcspc::pqt2_picoharp300_event Struct Reference

Description

Binary record interpretation for PicoHarp 300 T2 Format.

RecType 0x00010203.

Public Member Functions

constexpr auto channel () const noexcept -> u8np
 Read the channel if this event is a non-special event.
constexpr auto external_marker_bits () const noexcept -> u8np
 Read the marker bits (mask) if this event represents external markers.
constexpr auto external_marker_timetag () const noexcept -> u32np
 Read the time tag if this event is an external marker event.
constexpr auto is_external_marker () const noexcept -> bool
 Determine if this event represents external markers.
constexpr auto is_special () const noexcept -> bool
 Determine if this event is a special event.
constexpr auto is_timetag_overflow () const noexcept -> bool
 Determine if this event represents a time tag overflow.
constexpr auto timetag () const noexcept -> u32np
 Read the time tag if this event is a non-special event (not external marker event).

Static Public Member Functions

static constexpr auto is_sync_event () noexcept -> bool
 Determine if this event represents a sync event.
static constexpr auto make_external_marker (u32np timetag, u8np marker_bits) -> pqt2_picoharp300_event
 Make an event representing an external marker.
static constexpr auto make_nonspecial (u32np timetag, u8np channel) -> pqt2_picoharp300_event
 Make an event representing a non-special (photon) event.
static constexpr auto make_timetag_overflow () noexcept -> pqt2_picoharp300_event
 Make an event representing a time tag overflow.
static constexpr auto timetag_overflow_count () noexcept -> u32np
 Read the time tag overflow count if this event represents a time tag overflow.

Public Attributes

std::array< std::byte, 4 > bytes
 Bytes of the 32-bit raw device event.

Static Public Attributes

static constexpr i32 overflow_period = 210698240
 The time tag overflow period of this event type.

Friends

auto operator<< (std::ostream &stream, pqt2_picoharp300_event const &event) -> std::ostream &
 Stream insertion operator.
auto operator== (pqt2_picoharp300_event const &lhs, pqt2_picoharp300_event const &rhs) noexcept -> bool=default
 Equality comparison operator.

Member Function Documentation

◆ external_marker_timetag()

auto tcspc::pqt2_picoharp300_event::external_marker_timetag ( ) const -> u32np
inlinenodiscardconstexprnoexcept

Read the time tag if this event is an external marker event.

The low 4 bits are zeroed to remove the marker bits.

◆ make_external_marker()

constexpr auto tcspc::pqt2_picoharp300_event::make_external_marker ( u32np timetag,
u8np marker_bits ) -> pqt2_picoharp300_event
inlinestaticconstexpr

Make an event representing an external marker.

Parameters
timetagthe time tag; 0 to 268,435,455; the lower 4 bits are discarded
marker_bitsthe marker bitmask; 1 to 15 (0 is forbidden)
Returns
event

◆ make_nonspecial()

constexpr auto tcspc::pqt2_picoharp300_event::make_nonspecial ( u32np timetag,
u8np channel ) -> pqt2_picoharp300_event
inlinestaticconstexpr

Make an event representing a non-special (photon) event.

Parameters
timetagthe time tag; 0 to 268,435,455
channelthe channel; 0 to 14
Returns
event

◆ make_timetag_overflow()

constexpr auto tcspc::pqt2_picoharp300_event::make_timetag_overflow ( ) -> pqt2_picoharp300_event
inlinestaticconstexprnoexcept

Make an event representing a time tag overflow.

Returns
event

Member Data Documentation

◆ overflow_period

i32 tcspc::pqt2_picoharp300_event::overflow_period = 210698240
staticconstexpr

The time tag overflow period of this event type.

Note that this does not equal one plus the maximum representable value of the time tag field.


The documentation for this struct was generated from the following file: