DataReceiverCore implements the state machine for the DataReceiver artdaq application. DataReceiverCore receives Fragment objects from the DataReceiverManager, and sends them to the EventStore. More...
#include <artdaq/Application/DataReceiverCore.hh>
Public Member Functions | |
DataReceiverCore () | |
DataReceiverCore Constructor. | |
DataReceiverCore (DataReceiverCore const &) | |
Copy Constructor is deleted. | |
virtual | ~DataReceiverCore () |
DataReceiverCore & | operator= (DataReceiverCore const &) |
Copy Assignment operator is deleted. | |
virtual bool | initialize (fhicl::ParameterSet const &pset)=0 |
Processes the initialize request. | |
bool | start (art::RunID id) |
Start the DataReceiverCore. | |
bool | stop () |
Stops the DataReceiverCore. | |
bool | pause () |
Pauses the DataReceiverCore. | |
bool | resume () |
Resumes the DataReceiverCore. | |
bool | shutdown () |
Shuts Down the DataReceiverCore. | |
bool | soft_initialize (fhicl::ParameterSet const &pset) |
Soft-Initializes the DataReceiverCore. No-Op. | |
bool | reinitialize (fhicl::ParameterSet const &pset) |
Reinitializes the DataReceiverCore. | |
bool | rollover_subrun (uint64_t eventNum) |
Rollover the subrun after the given event. | |
std::string | report (std::string const &which) const |
Send a report on a given run-time quantity. | |
Protected Member Functions | |
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. | |
void | logMessage_ (std::string const &text) |
Log a message, setting severity based on verbosity flag. | |
Protected Attributes | |
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. | |
MetricManager | metricMan_ |
MetricManager concrete instance (for Globals.hh::metricMan). |
DataReceiverCore implements the state machine for the DataReceiver artdaq application. DataReceiverCore receives Fragment objects from the DataReceiverManager, and sends them to the EventStore.
Definition at line 24 of file DataReceiverCore.hh.
artdaq::DataReceiverCore::~DataReceiverCore | ( | ) | [virtual] |
Destructor.
Definition at line 23 of file DataReceiverCore.cc.
virtual bool artdaq::DataReceiverCore::initialize | ( | fhicl::ParameterSet const & | pset | ) | [pure virtual] |
Processes the initialize request.
pset | ParameterSet used to configure the DataReceiverCore |
* DataReceiverCore accepts the following Parameters: * "daq" (REQUIRED): FHiCL table containing DAQ configuration * "event_builder" (REQUIRED): FHiCL table containing Aggregator paramters * "fragment_count" (REQUIRED): Number of Fragment objects to collect before sending them to art * "inrun_recv_timeout_usec" (Default: 100000): Amount of time to wait for new Fragment objects while running * "endrun_recv_timeout_usec" (Default: 20000000): Amount of time to wait for additional Fragment objects at EndOfRun * "pause_recv_timeout_usec" (Default: 3000000): Amount of time to wait for additional Fragment objects at PauseRun * "verbose" (Default: true): Whether to print transition messages * "metrics": FHiCL table containing configuration for MetricManager *
Note that the "event_builder" ParameterSet is also used to configure the SharedMemoryEventManager. See that class' documentation for more information.
Implemented in artdaq::DataLoggerCore, artdaq::DispatcherCore, and artdaq::EventBuilderCore.
bool artdaq::DataReceiverCore::initializeDataReceiver | ( | fhicl::ParameterSet const & | pset, | |
fhicl::ParameterSet const & | data_pset, | |||
fhicl::ParameterSet const & | metric_pset | |||
) | [protected] |
Initialize the DataReceiverCore (should be called from initialize() overrides.
pset | ParameterSet for art configuration | |
data_pset | ParameterSet for DataReceiverManager and SharedMemoryEventManager configuration | |
metric_pset | ParameterSet for MetricManager |
Definition at line 28 of file DataReceiverCore.cc.
void artdaq::DataReceiverCore::logMessage_ | ( | std::string const & | text | ) | [protected] |
Log a message, setting severity based on verbosity flag.
text | Message to log |
Definition at line 297 of file DataReceiverCore.cc.
DataReceiverCore& artdaq::DataReceiverCore::operator= | ( | DataReceiverCore const & | ) |
Copy Assignment operator is deleted.
Reimplemented in artdaq::DataLoggerCore, artdaq::DispatcherCore, and artdaq::EventBuilderCore.
bool artdaq::DataReceiverCore::pause | ( | ) |
Pauses the DataReceiverCore.
Definition at line 167 of file DataReceiverCore.cc.
bool artdaq::DataReceiverCore::reinitialize | ( | fhicl::ParameterSet const & | pset | ) |
Reinitializes the DataReceiverCore.
pset | ParameterSet for configuring DataReceiverCore |
Definition at line 246 of file DataReceiverCore.cc.
std::string artdaq::DataReceiverCore::report | ( | std::string const & | which | ) | const |
Send a report on a given run-time quantity.
which | Which quantity to report |
report accepts the following values of "which": "event_count": The number of events received, or -1 if not initialized "incomplete_event_count": The number of incomplete event bunches in the EventStore, or -1 if not initalized
Anything else will return the run number and an error message.
Definition at line 265 of file DataReceiverCore.cc.
bool artdaq::DataReceiverCore::resume | ( | ) |
Resumes the DataReceiverCore.
Definition at line 193 of file DataReceiverCore.cc.
bool artdaq::DataReceiverCore::rollover_subrun | ( | uint64_t | eventNum | ) |
Rollover the subrun after the given event.
eventNum | Sequence ID of boundary |
Definition at line 255 of file DataReceiverCore.cc.
bool artdaq::DataReceiverCore::shutdown | ( | ) |
Shuts Down the DataReceiverCore.
Definition at line 204 of file DataReceiverCore.cc.
bool artdaq::DataReceiverCore::soft_initialize | ( | fhicl::ParameterSet const & | pset | ) |
Soft-Initializes the DataReceiverCore. No-Op.
pset | ParameterSet for configuring DataReceiverCore |
Definition at line 238 of file DataReceiverCore.cc.
bool artdaq::DataReceiverCore::start | ( | art::RunID | id | ) |
Start the DataReceiverCore.
id | Run ID of the current run |
Definition at line 86 of file DataReceiverCore.cc.
bool artdaq::DataReceiverCore::stop | ( | ) |
Stops the DataReceiverCore.
Definition at line 100 of file DataReceiverCore.cc.