libtcspc C++ API
Streaming TCSPC and time tag data processing
Loading...
Searching...
No Matches
tcspc::basic_pqt3_event< IsNSyncOverflowAlwaysSingle > Struct Template Reference

Description

template<bool IsNSyncOverflowAlwaysSingle>
struct tcspc::basic_pqt3_event< IsNSyncOverflowAlwaysSingle >

Implementation for binary record interpretation for HydraHarp, MultiHarp, TimeHarp 260, and PicoHarp 330 T3 format.

This class is documented to show the available member functions. User code should use tcspc::pqt3_hydraharpv1_event or tcspc::pqt3_generic_event.

Template Parameters
IsNSyncOverflowAlwaysSingleif true, interpret as HydraHarp V1 (RecType 0x00010304) format, in which nsync overflow records always indicate a single overflow

Public Member Functions

constexpr auto channel () const noexcept -> u8np
 Read the channel if this event is a non-special event.
constexpr auto dtime () const noexcept -> u16np
 Read the difference time 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 is_external_marker () const noexcept -> bool
 Determine if this event represents external markers.
constexpr auto is_nsync_overflow () const noexcept -> bool
 Determine if this event represents an nsync overflow.
constexpr auto is_special () const noexcept -> bool
 Determine if this event is a special event.
constexpr auto nsync () const noexcept -> u16np
 Read the nsync counter value if this event is a non-special event or an external marker event.
constexpr auto nsync_overflow_count () const noexcept -> u16np
 Read the nsync overflow count if this event represents an nsync overflow.

Static Public Member Functions

static constexpr auto make_external_marker (u16np nsync, u8np marker_bits) -> basic_pqt3_event
 Make an event representing an external marker.
static constexpr auto make_nonspecial (u16np nsync, u8np channel, u16np dtime) -> basic_pqt3_event
 Make an event representing a non-special (photon) event.
static constexpr auto make_nsync_overflow () noexcept -> basic_pqt3_event
 Make an event representing a single nsync overflow.
static constexpr auto make_nsync_overflow (u16np count) -> basic_pqt3_event
 Make an event representing an nsync overflow.

Public Attributes

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

Static Public Attributes

static constexpr i32 nsync_overflow_period = 1024
 The nsync overflow period of this event type.

Friends

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

Member Function Documentation

◆ make_external_marker()

template<bool IsNSyncOverflowAlwaysSingle>
constexpr auto tcspc::basic_pqt3_event< IsNSyncOverflowAlwaysSingle >::make_external_marker ( u16np nsync,
u8np marker_bits ) -> basic_pqt3_event
inlinestaticconstexpr

Make an event representing an external marker.

Parameters
nsyncthe nsync count; 0 to 1023
marker_bitsthe marker bitmask; 1 to 15
Returns
event

◆ make_nonspecial()

template<bool IsNSyncOverflowAlwaysSingle>
constexpr auto tcspc::basic_pqt3_event< IsNSyncOverflowAlwaysSingle >::make_nonspecial ( u16np nsync,
u8np channel,
u16np dtime ) -> basic_pqt3_event
inlinestaticconstexpr

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

Parameters
nsyncthe nsync count; 0 to 1023
channelthe channel; 0 to 63
dtimethe difference time; 0 to 32767
Returns
event

◆ make_nsync_overflow() [1/2]

template<bool IsNSyncOverflowAlwaysSingle>
constexpr auto tcspc::basic_pqt3_event< IsNSyncOverflowAlwaysSingle >::make_nsync_overflow ( ) -> basic_pqt3_event
inlinestaticconstexprnoexcept

Make an event representing a single nsync overflow.

Returns
event

◆ make_nsync_overflow() [2/2]

template<bool IsNSyncOverflowAlwaysSingle>
constexpr auto tcspc::basic_pqt3_event< IsNSyncOverflowAlwaysSingle >::make_nsync_overflow ( u16np count) -> basic_pqt3_event
inlinestaticconstexpr

Make an event representing an nsync overflow.

This overload is only available in tcspc::pqt3_generic_event.

Parameters
countnumber of overflows; 1 to 1023 (0 is allowed but may not be handled correctly by other readers)
Returns
event

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