artdaq
v3_00_03
|
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... | |
std::string | report (std::string const &which) const |
Send a report on a given run-time quantity. 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... | |
void | logMessage_ (std::string const &text) |
Log a message, setting severity based on verbosity flag. 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 verbosely. | |
MetricManager | metricMan_ |
MetricManager concrete instance (for Globals.hh::metricMan) | |
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.
|
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. * "xmlrpc_client_list" (Default: ""): List of XMLRPC addresses of other applications in the artdaq system * "subrun_size_MB" (Default: 0): Maximum size for Dispatcher-based subrun rollover * "subrun_duration" (Dfeault: 0): Maximum time for Dispatcher-based subrun rollover * "subrun_event_count" (Default: 0): Maximum event count for Dispatcher-based subrun rollover * "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) * "filesize_check_interval_seconds" (Default: 20): Interval to check the file size when using Dispatcher-based subrun rollover * "filesize_check_interval_events" (Default: 20): Interval to check the file size when using Dispatcher-based subrun rollover * "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 88 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 157 of file DispatcherCore.cc.