1 #ifndef artdaq_Application_CompositeDriver_hh
2 #define artdaq_Application_CompositeDriver_hh
5 #include "artdaq-core/Data/Fragment.hh"
6 #include "artdaq/Generators/CommandableFragmentGenerator.hh"
7 #include "fhiclcpp/fwd.h"
39 void start()
override;
54 void pause()
override;
67 std::vector<artdaq::Fragment::fragment_id_t> fragmentIDs()
override;
69 bool getNext_(artdaq::FragmentPtrs& frags)
override;
71 bool makeChildGenerator_(fhicl::ParameterSet
const&);
73 std::vector<std::unique_ptr<CommandableFragmentGenerator>> generator_list_;
74 std::vector<bool> generator_active_list_;
void start() override
Start all configured CommandableFragmentGenerators.
virtual ~CompositeDriver() noexcept
Destructor. Calls the destructors for each configured CommandableFragmentGenerator.
CompositeDriver handles a set of lower-level generators.
void pause() override
Pause all configured CommandableFragmentGenerators.
void stop() override
Call stop methods for all configured CommandableFragmentGenerators. Currently handled by stopNoMutex...
CommandableFragmentGenerator is a FragmentGenerator-derived abstract class that defines the interface...
CompositeDriver(fhicl::ParameterSet const &ps)
CompositeDriver Constructor.
void resume() override
Resume all configured CommandableFragmentGenerators.
void stopNoMutex() override
Call non-locked stop methods for all configured CommandableFragmentGenerators.