9#include "numeric_traits.hpp"
41template <
typename NumericTraits = default_numeric_traits>
45 static_assert(std::is_integral_v<
decltype(
abstime)>);
55 return s <<
"time_reached(" << e.abstime <<
')';
77template <
typename NumericTraits = default_numeric_traits>
81 static_assert(std::is_integral_v<
decltype(
abstime)>);
91 return s <<
"data_lost(" << e.abstime <<
')';
111template <
typename NumericTraits = default_numeric_traits>
115 static_assert(std::is_integral_v<
decltype(
abstime)>);
126 return s <<
"begin_lost_interval()";
137template <
typename NumericTraits = default_numeric_traits>
141 static_assert(std::is_integral_v<
decltype(
abstime)>);
152 return s <<
"end_lost_interval()";
167template <
typename NumericTraits = default_numeric_traits>
171 static_assert(std::is_integral_v<
decltype(
abstime)>);
175 static_assert(std::is_integral_v<
decltype(
channel)>);
181 static_assert(std::is_integral_v<
decltype(
count)>);
191 return s <<
"lost_counts(" << e.abstime <<
", " << e.channel <<
", "
208template <
typename NumericTraits = default_numeric_traits>
212 static_assert(std::is_integral_v<
decltype(
abstime)>);
216 static_assert(std::is_integral_v<
decltype(
channel)>);
220 static_assert(std::is_integral_v<
decltype(
count)>);
230 return s <<
"bulk_counts(" << e.abstime <<
", " << e.channel <<
", "
243template <
typename NumericTraits = default_numeric_traits>
247 static_assert(std::is_integral_v<
decltype(
abstime)>);
251 static_assert(std::is_integral_v<
decltype(
channel)>);
261 return s <<
"detection(" << e.abstime <<
", " << e.channel <<
')';
274template <
typename NumericTraits = default_numeric_traits>
278 static_assert(std::is_integral_v<
decltype(
abstime)>);
282 static_assert(std::is_integral_v<
decltype(
channel)>);
289 static_assert(std::is_integral_v<
decltype(
difftime)>);
300 return s <<
"time_correlated_detection(" << e.abstime <<
", "
301 << e.channel <<
", " << e.difftime <<
')';
329template <
typename NumericTraits = default_numeric_traits>
333 static_assert(std::is_integral_v<
decltype(
abstime)>);
337 static_assert(std::is_integral_v<
decltype(
channel)>);
346 return s <<
"marker(" << e.abstime <<
", " << e.channel <<
')';
358template <
typename NumericTraits>
359auto operator<<(std::ostream &s,
362 return s <<
"[" << e[0] <<
", " << e[1] <<
']';
libtcspc namespace.
Definition acquire.hpp:30
Event indicating beginning of interval in which counts were lost.
Definition time_tagged_events.hpp:112
NumericTraits::abstime_type abstime
The absolute time (a.k.a. macrotime) of this event.
Definition time_tagged_events.hpp:114
friend auto operator<<(std::ostream &s, begin_lost_interval_event const &e) -> std::ostream &
Stream insertion operator.
Definition time_tagged_events.hpp:123
friend auto operator==(begin_lost_interval_event const &lhs, begin_lost_interval_event const &rhs) noexcept -> bool=default
Equality comparison operator.
Event indicating number of detections from a non-time-tagging device.
Definition time_tagged_events.hpp:209
NumericTraits::abstime_type abstime
The absolute time (a.k.a. macrotime) of this event.
Definition time_tagged_events.hpp:211
NumericTraits::count_type count
Number of non-time-tagged counts detected.
Definition time_tagged_events.hpp:219
NumericTraits::channel_type channel
The channel on which this event occurred.
Definition time_tagged_events.hpp:215
friend auto operator==(bulk_counts_event const &lhs, bulk_counts_event const &rhs) noexcept -> bool=default
Equality comparison operator.
friend auto operator<<(std::ostream &s, bulk_counts_event const &e) -> std::ostream &
Stream insertion operator.
Definition time_tagged_events.hpp:228
Event indicating loss of data due to buffer overflow.
Definition time_tagged_events.hpp:78
NumericTraits::abstime_type abstime
The absolute time (a.k.a. macrotime) of this event.
Definition time_tagged_events.hpp:80
friend auto operator==(data_lost_event const &lhs, data_lost_event const &rhs) noexcept -> bool=default
Equality comparison operator.
friend auto operator<<(std::ostream &s, data_lost_event const &e) -> std::ostream &
Stream insertion operator.
Definition time_tagged_events.hpp:89
Event indicating a detected count.
Definition time_tagged_events.hpp:244
friend auto operator==(detection_event const &lhs, detection_event const &rhs) noexcept -> bool=default
Equality comparison operator.
NumericTraits::channel_type channel
The channel on which this event occurred.
Definition time_tagged_events.hpp:250
NumericTraits::abstime_type abstime
The absolute time (a.k.a. macrotime) of this event.
Definition time_tagged_events.hpp:246
friend auto operator<<(std::ostream &s, detection_event const &e) -> std::ostream &
Stream insertion operator.
Definition time_tagged_events.hpp:259
Event indicating end of interval in which counts were lost.
Definition time_tagged_events.hpp:138
friend auto operator<<(std::ostream &s, end_lost_interval_event const &e) -> std::ostream &
Stream insertion operator.
Definition time_tagged_events.hpp:149
NumericTraits::abstime_type abstime
The absolute time (a.k.a. macrotime) of this event.
Definition time_tagged_events.hpp:140
friend auto operator==(end_lost_interval_event const &lhs, end_lost_interval_event const &rhs) noexcept -> bool=default
Equality comparison operator.
Event indicating number of counts that could not be time-tagged.
Definition time_tagged_events.hpp:168
NumericTraits::abstime_type abstime
The absolute time (a.k.a. macrotime) of this event.
Definition time_tagged_events.hpp:170
NumericTraits::count_type count
Number of counts that were detected but could not be time-tagged.
Definition time_tagged_events.hpp:180
friend auto operator<<(std::ostream &s, lost_counts_event const &e) -> std::ostream &
Stream insertion operator.
Definition time_tagged_events.hpp:189
friend auto operator==(lost_counts_event const &lhs, lost_counts_event const &rhs) noexcept -> bool=default
Equality comparison operator.
NumericTraits::channel_type channel
The channel on which this event occurred.
Definition time_tagged_events.hpp:174
Event indicating a timing marker.
Definition time_tagged_events.hpp:330
friend auto operator==(marker_event const &lhs, marker_event const &rhs) noexcept -> bool=default
Equality comparison operator.
NumericTraits::channel_type channel
The channel on which this event occurred.
Definition time_tagged_events.hpp:336
NumericTraits::abstime_type abstime
The absolute time (a.k.a. macrotime) of this event.
Definition time_tagged_events.hpp:332
friend auto operator<<(std::ostream &s, marker_event const &e) -> std::ostream &
Stream insertion operator.
Definition time_tagged_events.hpp:344
Event indicating latest abstime reached.
Definition time_tagged_events.hpp:42
NumericTraits::abstime_type abstime
The absolute time (a.k.a. macrotime) of this event.
Definition time_tagged_events.hpp:44
friend auto operator<<(std::ostream &s, time_reached_event const &e) -> std::ostream &
Stream insertion operator.
Definition time_tagged_events.hpp:53
friend auto operator==(time_reached_event const &lhs, time_reached_event const &rhs) noexcept -> bool=default
Equality comparison operator.