00001 #ifndef artdaq_demo_Generators_AsciiSimulator_hh
00002 #define artdaq_demo_Generators_AsciiSimulator_hh
00003
00004 #include "fhiclcpp/fwd.h"
00005 #include "artdaq-core/Data/Fragment.hh"
00006 #include "artdaq/Application/CommandableFragmentGenerator.hh"
00007 #include "artdaq-core-demo/Overlays/AsciiFragment.hh"
00008 #include "artdaq-core-demo/Overlays/FragmentType.hh"
00009
00010 #include <random>
00011 #include <vector>
00012 #include <atomic>
00013
00014 namespace demo
00015 {
00025 class AsciiSimulator : public artdaq::CommandableFragmentGenerator
00026 {
00027 public:
00033 explicit AsciiSimulator(fhicl::ParameterSet const& ps);
00034
00035 private:
00036
00046 bool getNext_(artdaq::FragmentPtrs& output) override;
00047
00048
00049
00050 void start() override {}
00051 void stop() override {}
00052 void stopNoMutex() override {}
00053
00054
00055
00056
00057 std::size_t const throttle_usecs_;
00058
00059
00060 std::string string1_;
00061 std::string string2_;
00062 };
00063 }
00064
00065 #endif