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"
49 void FillBuffer(
char* buffer,
size_t* bytes_read );
96 std::size_t nADCcounts_;
97 std::size_t maxADCcounts_;
98 std::size_t change_after_N_seconds_;
99 int nADCcounts_after_N_seconds_;
100 bool exception_after_N_seconds_;
101 bool exit_after_N_seconds_;
102 bool abort_after_N_seconds_;
103 demo::FragmentType fragment_type_;
104 std::size_t maxADCvalue_;
105 std::size_t throttle_usecs_;
106 std::size_t usecs_between_sends_;
109 using time_type = decltype( std::chrono::steady_clock::now() );
111 const time_type fake_time_ = std::numeric_limits<time_type>::max();
115 std::mt19937 engine_;
116 std::unique_ptr<std::uniform_int_distribution<data_t>> uniform_distn_;
117 std::unique_ptr<std::normal_distribution<double>> gaussian_distn_;
119 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.