|
McStas Readout Master 0.8.0
|
Receives the per-point instrument parameter values as replay steps through a file. More...
#include <replay.h>

Public Member Functions | |
| virtual void | publish (size_t point, const std::string &name, const std::string &value, const std::optional< std::string > &unit)=0 |
| virtual void | point_ready (size_t) |
| virtual void | pulse_ready (size_t, uint64_t) |
| The point's pulse has begun, at pulse_ns nanoseconds since the epoch. | |
Receives the per-point instrument parameter values as replay steps through a file.
Replay calls publish once per (point, parameter) before any of that point's readouts are sent, then point_ready once all of the point's parameters have been published. Implementations forward the values to, e.g., an EPICS mailbox; the transport lives outside this library.
|
inlinevirtual |
|
inlinevirtual |
The point's pulse has begun, at pulse_ns nanoseconds since the epoch.
Called after the senders start the point's pulse and before any of its events are sent, which is the only moment the reference time exists: point_ready runs before begin_pulse, and begin_pulse sleeps to the next grid tick before fixing the time.
A publisher deriving timestamps – a chopper's top-dead-centre crossings, say – must take them from here rather than from a clock of its own, or they land before the pulse they belong to by up to one full period.
Not called when a file has no sendable readouts, because then there is no pulse.