9#include "data_types.hpp"
44 static_assert(std::is_integral_v<
decltype(
abstime)>);
54 return s <<
"time_reached(" << e.abstime <<
')';
79 static_assert(std::is_integral_v<
decltype(
abstime)>);
89 return s <<
"data_lost(" << e.abstime <<
')';
109template <
typename DataTypes = default_data_types>
113 static_assert(std::is_integral_v<
decltype(
abstime)>);
124 return s <<
"begin_lost_interval()";
135template <
typename DataTypes = default_data_types>
139 static_assert(std::is_integral_v<
decltype(
abstime)>);
150 return s <<
"end_lost_interval()";
167 static_assert(std::is_integral_v<
decltype(
abstime)>);
171 static_assert(std::is_integral_v<
decltype(
channel)>);
176 typename DataTypes::count_type
count;
177 static_assert(std::is_integral_v<
decltype(
count)>);
187 return s <<
"lost_counts(" << e.abstime <<
", " << e.channel <<
", "
206 static_assert(std::is_integral_v<
decltype(
abstime)>);
210 static_assert(std::is_integral_v<
decltype(
channel)>);
213 typename DataTypes::count_type
count;
214 static_assert(std::is_integral_v<
decltype(
count)>);
224 return s <<
"bulk_counts(" << e.abstime <<
", " << e.channel <<
", "
239 static_assert(std::is_integral_v<
decltype(
abstime)>);
243 static_assert(std::is_integral_v<
decltype(
channel)>);
253 return s <<
"detection(" << e.abstime <<
", " << e.channel <<
')';
266template <
typename DataTypes = default_data_types>
270 static_assert(std::is_integral_v<
decltype(
abstime)>);
274 static_assert(std::is_integral_v<
decltype(
channel)>);
281 static_assert(std::is_integral_v<
decltype(
difftime)>);
292 return s <<
"time_correlated_detection(" << e.abstime <<
", "
293 << e.channel <<
", " << e.difftime <<
')';
320template <
typename DataTypes = default_data_types>
struct marker_event {
323 static_assert(std::is_integral_v<
decltype(
abstime)>);
327 static_assert(std::is_integral_v<
decltype(
channel)>);
336 return s <<
"marker(" << e.abstime <<
", " << e.channel <<
')';
348template <
typename DataTypes>
349auto operator<<(std::ostream &s,
352 return s <<
"[" << e[0] <<
", " << e[1] <<
']';
libtcspc namespace.
Definition acquire.hpp:29
Event indicating beginning of interval in which counts were lost.
Definition time_tagged_events.hpp:110
friend auto operator<<(std::ostream &s, begin_lost_interval_event const &e) -> std::ostream &
Stream insertion operator.
Definition time_tagged_events.hpp:121
friend auto operator==(begin_lost_interval_event const &lhs, begin_lost_interval_event const &rhs) noexcept -> bool=default
Equality comparison operator.
DataTypes::abstime_type abstime
The absolute time (a.k.a. macrotime) of this event.
Definition time_tagged_events.hpp:112
Event indicating number of detections from a non-time-tagging device.
Definition time_tagged_events.hpp:203
DataTypes::abstime_type abstime
The absolute time (a.k.a. macrotime) of this event.
Definition time_tagged_events.hpp:205
DataTypes::count_type count
Number of non-time-tagged counts detected.
Definition time_tagged_events.hpp:213
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:222
DataTypes::channel_type channel
The channel on which this event occurred.
Definition time_tagged_events.hpp:209
Event indicating loss of data due to buffer overflow.
Definition time_tagged_events.hpp:76
DataTypes::abstime_type abstime
The absolute time (a.k.a. macrotime) of this event.
Definition time_tagged_events.hpp:78
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:87
Event indicating a detected count.
Definition time_tagged_events.hpp:236
friend auto operator==(detection_event const &lhs, detection_event const &rhs) noexcept -> bool=default
Equality comparison operator.
DataTypes::abstime_type abstime
The absolute time (a.k.a. macrotime) of this event.
Definition time_tagged_events.hpp:238
DataTypes::channel_type channel
The channel on which this event occurred.
Definition time_tagged_events.hpp:242
friend auto operator<<(std::ostream &s, detection_event const &e) -> std::ostream &
Stream insertion operator.
Definition time_tagged_events.hpp:251
Event indicating end of interval in which counts were lost.
Definition time_tagged_events.hpp:136
DataTypes::abstime_type abstime
The absolute time (a.k.a. macrotime) of this event.
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:147
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:164
DataTypes::channel_type channel
The channel on which this event occurred.
Definition time_tagged_events.hpp:170
friend auto operator<<(std::ostream &s, lost_counts_event const &e) -> std::ostream &
Stream insertion operator.
Definition time_tagged_events.hpp:185
friend auto operator==(lost_counts_event const &lhs, lost_counts_event const &rhs) noexcept -> bool=default
Equality comparison operator.
DataTypes::abstime_type abstime
The absolute time (a.k.a. macrotime) of this event.
Definition time_tagged_events.hpp:166
DataTypes::count_type count
Number of counts that were detected but could not be time-tagged.
Definition time_tagged_events.hpp:176
Event indicating a timing marker.
Definition time_tagged_events.hpp:320
friend auto operator==(marker_event const &lhs, marker_event const &rhs) noexcept -> bool=default
Equality comparison operator.
DataTypes::abstime_type abstime
The absolute time (a.k.a. macrotime) of this event.
Definition time_tagged_events.hpp:322
friend auto operator<<(std::ostream &s, marker_event const &e) -> std::ostream &
Stream insertion operator.
Definition time_tagged_events.hpp:334
DataTypes::channel_type channel
The channel on which this event occurred.
Definition time_tagged_events.hpp:326
Event indicating latest abstime reached.
Definition time_tagged_events.hpp:41
friend auto operator<<(std::ostream &s, time_reached_event const &e) -> std::ostream &
Stream insertion operator.
Definition time_tagged_events.hpp:52
friend auto operator==(time_reached_event const &lhs, time_reached_event const &rhs) noexcept -> bool=default
Equality comparison operator.
DataTypes::abstime_type abstime
The absolute time (a.k.a. macrotime) of this event.
Definition time_tagged_events.hpp:43