1 #ifndef artdaq_demo_Generators_ToyHardwareInterface_ToyHardwareInterface_hh
2 #define artdaq_demo_Generators_ToyHardwareInterface_ToyHardwareInterface_hh
4 #include "artdaq-core-demo/Overlays/FragmentType.hh"
6 #include "fhiclcpp/fwd.h"
50 void FillBuffer(
char* buffer,
size_t* bytes_read);
98 std::size_t nADCcounts_;
99 std::size_t maxADCcounts_;
100 std::size_t change_after_N_seconds_;
101 int nADCcounts_after_N_seconds_;
102 bool exception_after_N_seconds_;
103 bool exit_after_N_seconds_;
104 bool abort_after_N_seconds_;
105 demo::FragmentType fragment_type_;
106 std::size_t maxADCvalue_;
107 std::size_t throttle_usecs_;
108 std::size_t usecs_between_sends_;
111 using time_type = decltype(std::chrono::steady_clock::now());
113 const time_type fake_time_ = std::numeric_limits<time_type>::max();
117 std::mt19937 engine_;
118 std::unique_ptr<std::uniform_int_distribution<data_t>> uniform_distn_;
119 std::unique_ptr<std::normal_distribution<double>> gaussian_distn_;
121 time_type start_time_;
int NumADCBits() const
Get the number of ADC bits used in generating data.
void StartDatataking()
"StartDatataking" is meant to mimic actions one would take when telling the hardware to start sending...
uint16_t data_t
The type used to represent ADC counts (which are 12 or 14 bits, for TOY1 or TOY2) ...
void StopDatataking()
Performs shutdown actions.
void FillBuffer(char *buffer, size_t *bytes_read)
Use configured generator to fill a buffer with data.
DistributionType
Allow for the selection of output distribution.
void FreeReadoutBuffer(char *buffer)
Release the given buffer to the hardware.
A monotonically-increasing distribution.
ToyHardwareInterface(fhicl::ParameterSet const &ps)
Construct and configure ToyHardwareInterface.
A use-after-free expliot distribution.
void AllocateReadoutBuffer(char **buffer)
Request a buffer from the hardware.
int SerialNumber() const
Gets the serial number of the simulated hardware.
JCF, Mar-17-2016: ToyHardwareInterface is meant to mimic a vendor-provided hardware API...
int BoardType() const
Return the "board type" of the simulated hardware.