DispatcherCore implements the state machine for the Dispatcher artdaq application. DispatcherCore processes incoming events in one of three roles: Data Logger, Online Monitor, or Dispatcher. More...
#include <artdaq/Application/DispatcherCore.hh>
Public Member Functions | |
DispatcherCore () | |
DispatcherCore Constructor. | |
DispatcherCore (DispatcherCore const &) | |
Copy Constructor is deleted. | |
~DispatcherCore () | |
DispatcherCore & | operator= (DispatcherCore const &) |
Copy Assignment operator is deleted. | |
bool | initialize (fhicl::ParameterSet const &pset) override |
Processes the initialize request. | |
std::string | register_monitor (fhicl::ParameterSet const &pset) |
Create a new TransferInterface instance using the given configuration. | |
std::string | unregister_monitor (std::string const &label) |
Delete the TransferInterface having the given unique label. |
DispatcherCore implements the state machine for the Dispatcher artdaq application. DispatcherCore processes incoming events in one of three roles: Data Logger, Online Monitor, or Dispatcher.
Definition at line 21 of file DispatcherCore.hh.
artdaq::DispatcherCore::~DispatcherCore | ( | ) |
Destructor.
Definition at line 29 of file DispatcherCore.cc.
bool artdaq::DispatcherCore::initialize | ( | fhicl::ParameterSet const & | pset | ) | [override, virtual] |
Processes the initialize request.
pset | ParameterSet used to configure the DispatcherCore |
* DispatcherCore accepts the following Parameters: * "daq" (REQUIRED): FHiCL table containing DAQ configuration * "Dispatcher" (REQUIRED): FHiCL table containing Dispatcher paramters * "expected_events_per_bunch" (REQUIRED): Number of events to collect before sending them to art * "enq_timeout" (Default: 5.0): Maximum amount of time to wait while enqueueing events to the ConcurrentQueue * "is_data_logger": True if the Dispatcher is a Data Logger * "is_online_monitor": True if the Dispatcher is an Online Monitor. is_data_logger takes precedence * "is_dispatcher": True if the Dispatcher is a Dispatcher. is_data_logger and is_online_monitor take precedence * NOTE: At least ONE of these three parameters must be specified. * "inrun_recv_timeout_usec" (Default: 100000): Amount of time to wait for new events while running * "endrun_recv_timeout_usec" (Default: 20000000): Amount of time to wait for additional events at EndOfRun * "pause_recv_timeout_usec" (Default: 3000000): Amount of time to wait for additional events at PauseRun * "onmon_event_prescale" (Default: 1): Only send 1/N events to art for online monitoring (requires is_data_logger: true) * "verbose" (Default: true): Whether to print transition messages * "metrics": FHiCL table containing configuration for MetricManager * "outputs" (REQUIRED): FHiCL table containing output parameters * "normalOutput" (REQUIRED): FHiCL table containing default output parameters * "fileName" (Default: ""): Name template of the output file. Used to determine output directory *
Note that the "Dispatcher" ParameterSet is also used to configure the EventStore. See that class' documentation for more information.
Implements artdaq::DataReceiverCore.
Definition at line 34 of file DispatcherCore.cc.
DispatcherCore& artdaq::DispatcherCore::operator= | ( | DispatcherCore const & | ) |
Copy Assignment operator is deleted.
Reimplemented from artdaq::DataReceiverCore.
std::string artdaq::DispatcherCore::register_monitor | ( | fhicl::ParameterSet const & | pset | ) |
Create a new TransferInterface instance using the given configuration.
pset | ParameterSet used to configure the TransferInterface |
See TransferInterface for details on the expected configuration
Definition at line 90 of file DispatcherCore.cc.
std::string artdaq::DispatcherCore::unregister_monitor | ( | std::string const & | label | ) |
Delete the TransferInterface having the given unique label.
label | Label of the TransferInterface to delete |
Definition at line 159 of file DispatcherCore.cc.