$treeview $search $mathjax $extrastylesheet
artdaq
v3_04_01
$projectbrief
|
$projectbrief
|
$searchbox |
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, uint32_t subrun) |
Rollover the subrun after the given event. | |
std::string | report (std::string const &which) const |
Send a report on a given run-time quantity. | |
bool | add_config_archive_entry (std::string const &key, std::string const &value) |
Add the specified key and value to the configuration archive list. | |
bool | clear_config_archive () |
Clear the configuration archive list. | |
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. | |
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.
artdaq::DataReceiverCore::~DataReceiverCore | ( | ) | [virtual] |
Destructor.
Definition at line 23 of file DataReceiverCore.cc.
bool artdaq::DataReceiverCore::add_config_archive_entry | ( | std::string const & | key, | |
std::string const & | value | |||
) | [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.
bool artdaq::DataReceiverCore::clear_config_archive | ( | ) | [inline] |
Clear the configuration archive list.
Definition at line 153 of file DataReceiverCore.hh.
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 283 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 170 of file DataReceiverCore.cc.
bool artdaq::DataReceiverCore::reinitialize | ( | fhicl::ParameterSet const & | pset | ) |
Reinitializes the DataReceiverCore.
pset | ParameterSet for configuring DataReceiverCore |
Definition at line 232 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 251 of file DataReceiverCore.cc.
bool artdaq::DataReceiverCore::resume | ( | ) |
Resumes the DataReceiverCore.
Definition at line 179 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 241 of file DataReceiverCore.cc.
bool artdaq::DataReceiverCore::shutdown | ( | ) |
Shuts Down the DataReceiverCore.
Definition at line 190 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 224 of file DataReceiverCore.cc.
bool artdaq::DataReceiverCore::start | ( | art::RunID | id | ) |
Start the DataReceiverCore.
id | Run ID of the current run |
Definition at line 92 of file DataReceiverCore.cc.
bool artdaq::DataReceiverCore::stop | ( | ) |
Stops the DataReceiverCore.
Definition at line 126 of file DataReceiverCore.cc.