artdaq
v3_00_01
|
BoardReaderCore implements the state machine for the BoardReader artdaq application. It contains a CommandableFragmentGenerator, which generates Fragments which are then sent to a DataSenderManager by BoardReaderCore. More...
#include <artdaq/Application/BoardReaderCore.hh>
Public Member Functions | |
BoardReaderCore (Commandable &parent_application, int rank, std::string name) | |
BoardReaderCore Constructor. More... | |
BoardReaderCore (BoardReaderCore const &)=delete | |
Copy Constructor is Deleted. | |
virtual | ~BoardReaderCore () |
BoardReaderCore Destructor. | |
BoardReaderCore & | operator= (BoardReaderCore const &)=delete |
Copy Assignment Operator is deleted. More... | |
bool | initialize (fhicl::ParameterSet const &pset, uint64_t, uint64_t) |
Initialize the BoardReaderCore. More... | |
bool | start (art::RunID id, uint64_t timeout, uint64_t timestamp) |
Start the BoardReader, and the CommandableFragmentGenerator. More... | |
bool | stop (uint64_t timeout, uint64_t timestamp) |
Stop the BoardReader, and the CommandableFragmentGenerator. More... | |
bool | pause (uint64_t timeout, uint64_t timestamp) |
Pause the BoardReader, and the CommandableFragmentGenerator. More... | |
bool | resume (uint64_t timeout, uint64_t timestamp) |
Resume the BoardReader, and the CommandableFragmentGenerator. More... | |
bool | shutdown (uint64_t) |
Shutdown the BoardReader, and the CommandableFragmentGenerator. More... | |
bool | soft_initialize (fhicl::ParameterSet const &pset, uint64_t, uint64_t) |
Soft-Initialize the BoardReader. No-Op. More... | |
bool | reinitialize (fhicl::ParameterSet const &pset, uint64_t, uint64_t) |
Reinitialize the BoardReader. No-Op. More... | |
void | process_fragments () |
Main working loop of the BoardReaderCore. More... | |
std::string | report (std::string const &which) const |
Send a report on a given run-time quantity. More... | |
size_t | GetFragmentsProcessed () |
Static Public Member Functions | |
static DataSenderManager * | GetDataSenderManagerPtr () |
Gets a handle to the DataSenderManager. More... | |
Static Public Attributes | |
static const std::string | FRAGMENTS_PROCESSED_STAT_KEY |
Key for the Fragments Processed MonitoredQuantity. | |
static const std::string | INPUT_WAIT_STAT_KEY |
Key for the Input Wait MonitoredQuantity. | |
static const std::string | BRSYNC_WAIT_STAT_KEY |
Key for the Sync Wait MonitoredQuantity. | |
static const std::string | OUTPUT_WAIT_STAT_KEY |
Key for the Output Wait MonitoredQuantity. | |
static const std::string | FRAGMENTS_PER_READ_STAT_KEY |
Key for the Fragments Per Read MonitoredQuantity. | |
BoardReaderCore implements the state machine for the BoardReader artdaq application. It contains a CommandableFragmentGenerator, which generates Fragments which are then sent to a DataSenderManager by BoardReaderCore.
Definition at line 23 of file BoardReaderCore.hh.
artdaq::BoardReaderCore::BoardReaderCore | ( | Commandable & | parent_application, |
int | rank, | ||
std::string | name | ||
) |
BoardReaderCore Constructor.
parent_application | Reference to parent Commandable object, for in_run_failure notification |
rank | Rank of the BoardReader |
name | Friendly name for the BoardReader |
Definition at line 27 of file BoardReaderCore.cc.
|
inlinestatic |
Gets a handle to the DataSenderManager.
Definition at line 151 of file BoardReaderCore.hh.
bool artdaq::BoardReaderCore::initialize | ( | fhicl::ParameterSet const & | pset, |
uint64_t | , | ||
uint64_t | |||
) |
Initialize the BoardReaderCore.
pset | ParameterSet used to configure the BoardReaderCore |
* BoardReaderCore accepts the following Parameters: * "daq" (REQUIRED): FHiCL table containing DAQ configuration. * "fragment_receiver" (REQUIRED): FHiCL table containing Fragment Receiver configruation. * See CommandableFragmentGenerator for configuration options. * "generator" (Default: ""): The plugin name of the generator to load * "rt_priority" (Default: 0): The unix priority to attempt to assign to the process * "metrics": FHiCL table containing MetricManager configuration. * See MetricManager for configuration options. *
Definition at line 51 of file BoardReaderCore.cc.
|
delete |
Copy Assignment Operator is deleted.
bool artdaq::BoardReaderCore::pause | ( | uint64_t | timeout, |
uint64_t | timestamp | ||
) |
Pause the BoardReader, and the CommandableFragmentGenerator.
timeout | Timeout for transition |
timestamp | Timestamp of transition |
Definition at line 212 of file BoardReaderCore.cc.
void artdaq::BoardReaderCore::process_fragments | ( | ) |
Main working loop of the BoardReaderCore.
This loop calls the CommandableFragmentGenerator::getNext method, then sends each Fragment using DataSenderManager.
Definition at line 255 of file BoardReaderCore.cc.
bool artdaq::BoardReaderCore::reinitialize | ( | fhicl::ParameterSet const & | pset, |
uint64_t | , | ||
uint64_t | |||
) |
Reinitialize the BoardReader. No-Op.
pset | ParameterSet used to configure the BoardReaderCore |
Definition at line 247 of file BoardReaderCore.cc.
std::string artdaq::BoardReaderCore::report | ( | std::string const & | which | ) | const |
Send a report on a given run-time quantity.
which | Which quantity to report |
If the CommandableFragmentGenerator has been initialized, CommandableFragmentGenerator::report(std::string const& which) will be called. Otherwise, the BoardReaderCore will return the current run number and an error message.
Definition at line 487 of file BoardReaderCore.cc.
bool artdaq::BoardReaderCore::resume | ( | uint64_t | timeout, |
uint64_t | timestamp | ||
) |
Resume the BoardReader, and the CommandableFragmentGenerator.
timeout | Timeout for transition |
timestamp | Timestamp of transition |
Definition at line 222 of file BoardReaderCore.cc.
bool artdaq::BoardReaderCore::shutdown | ( | uint64_t | ) |
Shutdown the BoardReader, and the CommandableFragmentGenerator.
Definition at line 231 of file BoardReaderCore.cc.
bool artdaq::BoardReaderCore::soft_initialize | ( | fhicl::ParameterSet const & | pset, |
uint64_t | , | ||
uint64_t | |||
) |
Soft-Initialize the BoardReader. No-Op.
pset | ParameterSet used to configure the BoardReaderCore |
Definition at line 239 of file BoardReaderCore.cc.
bool artdaq::BoardReaderCore::start | ( | art::RunID | id, |
uint64_t | timeout, | ||
uint64_t | timestamp | ||
) |
Start the BoardReader, and the CommandableFragmentGenerator.
id | Run ID of new run |
timeout | Timeout for transition |
timestamp | Timestamp of transition |
Definition at line 184 of file BoardReaderCore.cc.
bool artdaq::BoardReaderCore::stop | ( | uint64_t | timeout, |
uint64_t | timestamp | ||
) |
Stop the BoardReader, and the CommandableFragmentGenerator.
timeout | Timeout for transition |
timestamp | Timestamp of transition |
Definition at line 202 of file BoardReaderCore.cc.