1 #ifndef artdaq_Application_CompositeDriver_hh
2 #define artdaq_Application_CompositeDriver_hh
4 #include "fhiclcpp/fwd.h"
5 #include "artdaq/Application/CommandableFragmentGenerator.hh"
6 #include "artdaq-core/Data/Fragment.hh"
40 void start()
override;
55 void pause()
override;
63 std::vector<artdaq::Fragment::fragment_id_t> fragmentIDs()
override;
65 bool getNext_(artdaq::FragmentPtrs& output)
override;
67 bool makeChildGenerator_(fhicl::ParameterSet
const&);
69 std::vector<std::unique_ptr<CommandableFragmentGenerator>> generator_list_;
70 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.