|
libtcspc C++ API
Streaming TCSPC and time tag data processing
|
Binary record interpretation for raw events from SPC-600/630 in 256-channel mode.
Public Member Functions | |
| constexpr auto | adc_value () const noexcept -> u16np |
| Read the ADC value (i.e., difference time) if this event represents a photon. | |
| constexpr auto | gap_flag () const noexcept -> bool |
| Read the 'gap' (data lost) flag. | |
| auto | gap_flag (bool gap) noexcept -> bh_spc600_256ch_event & |
| Set or clear the gap flag of this event. | |
| constexpr auto | invalid_flag () const noexcept -> bool |
| Read the 'invalid' flag. | |
| constexpr auto | is_multiple_macrotime_overflow () const noexcept -> bool |
| Determine if this event represents multiple macrotime overflows. | |
| constexpr auto | macrotime () const noexcept -> u32np |
| Read the macrotime counter value (no rollover correction). | |
| constexpr auto | macrotime_overflow_flag () const noexcept -> bool |
| Read the 'macrotime overflow' flag. | |
| constexpr auto | multiple_macrotime_overflow_count () const noexcept -> u32np |
| Read the macrotime overflow count if this event represents multiple macrotime overflows. | |
| constexpr auto | routing_signals () const noexcept -> u8np |
| Read the routing signals (usually the detector channel) if this event represents a photon. | |
Static Public Member Functions | |
| static constexpr auto | make_invalid_photon (u32np macrotime, u8np adc_value) -> bh_spc600_256ch_event |
| Make an event representing an invalid photon event. | |
| static constexpr auto | make_multiple_macrotime_overflow (u32np count) -> bh_spc600_256ch_event |
| Make an event representing a multiple macrotime overflow. | |
| static constexpr auto | make_photon (u32np macrotime, u8np adc_value, u8np route, bool macrotime_overflow=false) -> bh_spc600_256ch_event |
| Make an event representing a valid photon event. | |
| static constexpr auto | marker_bits () noexcept -> u8np |
| Read the marker bits (mask) if this event represents markers. | |
| static constexpr auto | marker_flag () noexcept -> bool |
| Read the 'marker' flag. | |
Public Attributes | |
| std::array< std::byte, 4 > | bytes |
| Bytes of the 32-bit raw device event. | |
Static Public Attributes | |
| static constexpr bool | has_markers = false |
| Whether this event type can represent marker events. | |
| static constexpr u32 | macrotime_overflow_period = 1 << 17 |
| The macrotime overflow period of this event type. | |
Friends | |
| auto | operator<< (std::ostream &strm, bh_spc600_256ch_event const &e) -> std::ostream & |
| Stream insertion operator. | |
| auto | operator== (bh_spc600_256ch_event const &lhs, bh_spc600_256ch_event const &rhs) noexcept -> bool=default |
| Equality comparison operator. | |
|
inlinenoexcept |
Set or clear the gap flag of this event.
All other bits are unaffected.
| gap | if true, set the gap bit; otherwise clear |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
Make an event representing a multiple macrotime overflow.
The gap flag is cleared.
| count | the number of macrotime overflows; 1 to 268,435,455 (0 is allowed but may not be handled correctly by other readers) |
|
inlinestaticconstexpr |