artdaq  v3_09_01
artdaq::DataLoggerCore Class Reference

DataLoggerCore implements the state machine for the DataLogger artdaq application. DataLoggerCore processes incoming events in one of three roles: Data Logger, Online Monitor, or Dispatcher. More...

#include <artdaq/Application/DataLoggerCore.hh>

Inheritance diagram for artdaq::DataLoggerCore:
artdaq::DataReceiverCore

Public Member Functions

 DataLoggerCore ()=default
 DataLoggerCore Constructor.
 
 DataLoggerCore (DataLoggerCore const &)=delete
 Copy Constructor is deleted.
 
 ~DataLoggerCore ()
 
DataLoggerCoreoperator= (DataLoggerCore const &)=delete
 Copy Assignment operator is deleted. More...
 
 DataLoggerCore (DataLoggerCore &&)=delete
 
DataLoggerCoreoperator= (DataLoggerCore &&)=delete
 
bool initialize (fhicl::ParameterSet const &pset) override
 Processes the initialize request. More...
 
- Public Member Functions inherited from artdaq::DataReceiverCore
 DataReceiverCore ()
 DataReceiverCore Constructor.
 
 DataReceiverCore (DataReceiverCore const &)=delete
 Copy Constructor is deleted.
 
virtual ~DataReceiverCore ()
 
DataReceiverCoreoperator= (DataReceiverCore const &)=delete
 Copy Assignment operator is deleted. More...
 
 DataReceiverCore (DataReceiverCore &&)=delete
 
DataReceiverCoreoperator= (DataReceiverCore &&)=delete
 
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 boundary, 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...
 

Additional Inherited Members

- Protected Member Functions inherited from artdaq::DataReceiverCore
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...
 
- Protected Attributes inherited from artdaq::DataReceiverCore
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.
 

Detailed Description

DataLoggerCore implements the state machine for the DataLogger artdaq application. DataLoggerCore processes incoming events in one of three roles: Data Logger, Online Monitor, or Dispatcher.

Definition at line 16 of file DataLoggerCore.hh.

Constructor & Destructor Documentation

artdaq::DataLoggerCore::~DataLoggerCore ( )
inline

Destructor.

Definition at line 32 of file DataLoggerCore.hh.

Member Function Documentation

bool artdaq::DataLoggerCore::initialize ( fhicl::ParameterSet const &  pset)
overridevirtual

Processes the initialize request.

Parameters
psetParameterSet used to configure the DataLoggerCore
Returns
Whether the initialize attempt succeeded
* DataLoggerCore accepts the following Parameters:
* "daq" (REQUIRED): FHiCL table containing DAQ configuration
*   "DataLogger" (REQUIRED): FHiCL table containing DataLogger 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 DataLogger is a Data Logger
*     "is_online_monitor": True if the DataLogger is an Online Monitor. is_data_logger takes precedence
*     "is_dispatcher": True if the DataLogger is a Dispatcher. is_data_logger and is_online_monitor take precedence
*       NOTE: At least ONE of these three parameters must be specified.
*     "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)
*     "verbose" (Default: true): Whether to print transition messages
*   "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 "DataLogger" ParameterSet is also used to configure the EventStore. See that class' documentation for more information.

Implements artdaq::DataReceiverCore.

Definition at line 22 of file DataLoggerCore.cc.

DataLoggerCore& artdaq::DataLoggerCore::operator= ( DataLoggerCore const &  )
delete

Copy Assignment operator is deleted.

Returns
DataLoggerCore copy

The documentation for this class was generated from the following files: