26 auto &execSection = config.
section(
"execute") ;
27 auto &procsSection = config.
section(
"processors") ;
32 log<DEBUG5>() <<
"Creating processors ..." << std::endl ;
33 if ( activeProcessors.empty() ) {
37 for (
size_t i=0 ; i<activeProcessors.size() ; ++i ) {
38 auto procName = activeProcessors[ i ] ;
39 log<DEBUG5>() <<
"Active processor " << procName << std::endl ;
40 auto &procSection = procsSection.section( procName ) ;
44 log<DEBUG5>() <<
"Creating processors ... OK" << std::endl ;
50 log<MESSAGE>() <<
"Terminating application" << std::endl ;
ConfigSection & section(const std::string &n)
Get a subsection by name.
void end() override
Terminate the scheduler activites Cleanup memory, etc ...
IScheduler interface Interface for implementing a scheduling algorithm for event processing.
std::vector< std::string > parameterNames() const
Get the list of parameter names.
virtual void initialize() override
Initialize the scheduler.
void setName(const std::string &n)
Set the component name.
ProcessorSequence _superSequence
< The processor super sequence
LoggerPtr _logger
The logger instance.
std::size_t freeSlots() const override
Get the number of free event slots.
void popFinishedEvents(std::vector< std::shared_ptr< EventStore >> &events) override
Retrieve finished events from the scheduler.
std::shared_ptr< EventStore > _currentEvent
#define MARLINMT_THROW(message)
ConfigSection & section(const std::string &sn)
Get a section by name.
void processRunHeader(std::shared_ptr< RunHeader > rhdr) override
Process a run header.
const Application & application() const
Get the application in which the component is registered.
void pushEvent(std::shared_ptr< EventStore > event) override
Push a new event to the scheduler for processing.
void initialize() override
Initialize the scheduler.
const Configuration & configuration() const
Get the main application configuration object.