artdaq
v3_08_00
|
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 &)=delete | |
Copy Constructor is deleted. | |
~DispatcherCore () | |
DispatcherCore & | operator= (DispatcherCore const &)=delete |
Copy Assignment operator is deleted. More... | |
bool | initialize (fhicl::ParameterSet const &pset) override |
Processes the initialize request. More... | |
std::string | register_monitor (fhicl::ParameterSet const &pset) |
Create a new TransferInterface instance using the given configuration. More... | |
std::string | unregister_monitor (std::string const &label) |
Delete the TransferInterface having the given unique label. More... | |
![]() | |
DataReceiverCore () | |
DataReceiverCore Constructor. | |
DataReceiverCore (DataReceiverCore const &)=delete | |
Copy Constructor is deleted. | |
virtual | ~DataReceiverCore () |
DataReceiverCore & | operator= (DataReceiverCore const &)=delete |
Copy Assignment operator is deleted. More... | |
bool | start (art::RunID id) |
Start the DataReceiverCore. More... | |
bool | stop () |
Stops the DataReceiverCore. More... | |
bool | pause () |
Pauses the DataReceiverCore. More... | |
bool | resume () |
Resumes the DataReceiverCore. More... | |
bool | shutdown () |
Shuts Down the DataReceiverCore. More... | |
bool | soft_initialize (fhicl::ParameterSet const &pset) |
Soft-Initializes the DataReceiverCore. No-Op. More... | |
bool | reinitialize (fhicl::ParameterSet const &pset) |
Reinitializes the DataReceiverCore. More... | |
bool | rollover_subrun (uint64_t eventNum, uint32_t subrun) |
Rollover the subrun after the given event. More... | |
std::string | report (std::string const &which) const |
Send a report on a given run-time quantity. More... | |
bool | add_config_archive_entry (std::string const &key, std::string const &value) |
Add the specified key and value to the configuration archive list. More... | |
bool | clear_config_archive () |
Clear the configuration archive list. More... | |
Additional Inherited Members | |
![]() | |
bool | initializeDataReceiver (fhicl::ParameterSet const &pset, fhicl::ParameterSet const &data_pset, fhicl::ParameterSet const &metric_pset) |
Initialize the DataReceiverCore (should be called from initialize() overrides. More... | |
![]() | |
std::unique_ptr < DataReceiverManager > | receiver_ptr_ |
Pointer to the DataReceiverManager. | |
std::shared_ptr < SharedMemoryEventManager > | event_store_ptr_ |
Pointer to the SharedMemoryEventManager. | |
std::atomic< bool > | stop_requested_ |
Stop has been requested? | |
std::atomic< bool > | pause_requested_ |
Pause has been requested? | |
std::atomic< bool > | run_is_paused_ |
Pause has been successfully completed? | |
bool | verbose_ |
Whether to log transition messages. | |
fhicl::ParameterSet | art_pset_ |
ParameterSet sent to art process. | |
std::map< std::string, std::string > | config_archive_entries_ |
Additional strings to archive as part of the art configuration. | |
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 19 of file DispatcherCore.hh.
artdaq::DispatcherCore::~DispatcherCore | ( | ) |
Destructor.
Definition at line 29 of file DispatcherCore.cc.
|
overridevirtual |
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.
|
delete |
Copy Assignment operator is deleted.
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 102 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 173 of file DispatcherCore.cc.