artdaq
v3_05_00
|
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 &)=delete | |
Copy Constructor is deleted. | |
virtual | ~DataReceiverCore () |
DataReceiverCore & | operator= (DataReceiverCore const &)=delete |
Copy Assignment operator is deleted. More... | |
virtual bool | initialize (fhicl::ParameterSet const &pset)=0 |
Processes the initialize request. 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... | |
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. More... | |
void | logMessage_ (std::string const &text) |
Log a message, setting severity based on verbosity flag. More... | |
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. | |
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. | |
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 25 of file DataReceiverCore.hh.
|
virtual |
Destructor.
Definition at line 23 of file DataReceiverCore.cc.
|
inline |
Add the specified key and value to the configuration archive list.
key | String key to be used |
value | String value to be stored |
Definition at line 143 of file DataReceiverCore.hh.
|
inline |
Clear the configuration archive list.
Definition at line 153 of file DataReceiverCore.hh.
|
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::DispatcherCore, artdaq::DataLoggerCore, and artdaq::EventBuilderCore.
|
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.
|
protected |
Log a message, setting severity based on verbosity flag.
text | Message to log |
Definition at line 284 of file DataReceiverCore.cc.
|
delete |
Copy Assignment operator is deleted.
bool artdaq::DataReceiverCore::pause | ( | ) |
Pauses the DataReceiverCore.
Definition at line 171 of file DataReceiverCore.cc.
bool artdaq::DataReceiverCore::reinitialize | ( | fhicl::ParameterSet const & | pset | ) |
Reinitializes the DataReceiverCore.
pset | ParameterSet for configuring DataReceiverCore |
Definition at line 233 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 252 of file DataReceiverCore.cc.
bool artdaq::DataReceiverCore::resume | ( | ) |
Resumes the DataReceiverCore.
Definition at line 180 of file DataReceiverCore.cc.
bool artdaq::DataReceiverCore::rollover_subrun | ( | uint64_t | eventNum, |
uint32_t | subrun | ||
) |
Rollover the subrun after the given event.
eventNum | Sequence ID of boundary |
subrun | Subrun number of new subrun |
Definition at line 242 of file DataReceiverCore.cc.
bool artdaq::DataReceiverCore::shutdown | ( | ) |
Shuts Down the DataReceiverCore.
Definition at line 191 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 225 of file DataReceiverCore.cc.
bool artdaq::DataReceiverCore::start | ( | art::RunID | id | ) |
Start the DataReceiverCore.
id | Run ID of the current run |
Definition at line 93 of file DataReceiverCore.cc.
bool artdaq::DataReceiverCore::stop | ( | ) |
Stops the DataReceiverCore.
Definition at line 127 of file DataReceiverCore.cc.