|
libtcspc C++ API
Streaming TCSPC and time tag data processing
|
Timing generators for use with tcspc::generate().
Timing generators must define the following member functions:
where abstime_type is the type of the abstime fields of the tcspc::generate() processor's TriggerEvent and OutputEvent type parameters (which must match).
trigger() may be a template or overload set; it must accept the tcspc::generate()'s TriggerEvent type.
peek() must continue to return the same value if called multiple times with no call to trigger() or pop() in between.
The end of a generated sequence of timings from a given trigger is indicated by peek() returning std::nullopt.
It is guaranteed that pop() is only called when peek() returns an abstime. The timing generator must not produce any timings before the first time it is triggered: peek() must return std::nullopt when trigger() has not yet been called.
Topics | |
| Dithered timing generators | |
| Timing generators using a floating-point model with dithering. | |
Classes | |
| class | tcspc::dynamic_linear_timing_generator< DataTypes > |
| Timing generator that generates an equally spaced series of timings, configured by the trigger event. More... | |
| class | tcspc::dynamic_one_shot_timing_generator< DataTypes > |
| Timing generator that generates a single, delayed timing, configured by the trigger event. More... | |
| class | tcspc::linear_timing_generator< DataTypes > |
| Timing generator that generates an equally spaced series of timings. More... | |
| class | tcspc::null_timing_generator< DataTypes > |
| Timing generator that generates no timings. More... | |
| class | tcspc::one_shot_timing_generator< DataTypes > |
| Timing generator that generates a single, delayed timing. More... | |