1 #ifndef artdaq_demo_Generators_ToySimulator_hh
2 #define artdaq_demo_Generators_ToySimulator_hh
8 #include "artdaq-core-demo/Overlays/FragmentType.hh"
9 #include "artdaq-core-demo/Overlays/ToyFragment.hh"
10 #include "artdaq-core/Data/Fragment.hh"
11 #include "artdaq/Generators/CommandableFragmentGenerator.hh"
12 #include "fhiclcpp/fwd.h"
14 #include "ToyHardwareInterface/ToyHardwareInterface.hh"
68 bool getNext_(artdaq::FragmentPtrs& frags)
override;
79 void start()
override;
92 void stopNoMutex()
override {}
94 std::unique_ptr<ToyHardwareInterface> hardware_interface_;
95 artdaq::Fragment::timestamp_t timestamp_;
96 artdaq::Fragment::timestamp_t starting_timestamp_;
98 size_t sequence_id_scale_;
99 size_t initial_sequence_id_;
101 int rollover_subrun_interval_;
103 ToyFragment::Metadata metadata_;
110 char* readout_buffer_;
112 FragmentType fragment_type_;
114 size_t fragment_group_size_;
115 std::chrono::microseconds fragment_group_timeout_;
116 bool exception_on_config_;
117 bool dies_on_config_;
120 std::set<artdaq::Fragment::sequence_id_t> lazily_handled_requests_;
DistributionType
Allow for the selection of output distribution.
ToySimulator(fhicl::ParameterSet const &ps)
ToySimulator Constructor.
virtual ~ToySimulator()
Shutdown the ToySimulator.
ToySimulator is a simple type of fragment generator intended to be studied by new users of artdaq as ...