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

List of all members.

Public Member Functions

 DataLoggerCore (int rank, std::string name)
 DataLoggerCore Constructor.
 DataLoggerCore (DataLoggerCore const &)
 Copy Constructor is deleted.
 ~DataLoggerCore ()
DataLoggerCoreoperator= (DataLoggerCore const &)
 Copy Assignment operator is deleted.
bool initialize (fhicl::ParameterSet const &pset) override
 Processes the initialize request.

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 18 of file DataLoggerCore.hh.


Constructor & Destructor Documentation

artdaq::DataLoggerCore::DataLoggerCore ( int  rank,
std::string  name 
)

DataLoggerCore Constructor.

Parameters:
rank Rank of the DataLogger
name Friendly name for the DataLogger
Todo:
Make the global queue size configurable

Definition at line 22 of file DataLoggerCore.cc.

artdaq::DataLoggerCore::~DataLoggerCore (  ) 

Destructor.

Definition at line 27 of file DataLoggerCore.cc.


Member Function Documentation

bool artdaq::DataLoggerCore::initialize ( fhicl::ParameterSet const &  pset  )  [override, virtual]

Processes the initialize request.

Parameters:
pset ParameterSet 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.
	*     "xmlrpc_client_list" (Default: ""): List of XMLRPC addresses of other applications in the artdaq system
	*     "subrun_size_MB" (Default: 0): Maximum size for DataLogger-based subrun rollover
	*     "subrun_duration" (Dfeault: 0): Maximum time for DataLogger-based subrun rollover
	*     "subrun_event_count" (Default: 0): Maximum event count for DataLogger-based subrun rollover
	*     "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)
	*     "filesize_check_interval_seconds" (Default: 20): Interval to check the file size when using DataLogger-based subrun rollover
	*     "filesize_check_interval_events" (Default: 20): Interval to check the file size when using DataLogger-based subrun rollover
	*   "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 32 of file DataLoggerCore.cc.

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

Copy Assignment operator is deleted.

Returns:
DataLoggerCore copy

Reimplemented from artdaq::DataReceiverCore.


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

Generated on 27 Jan 2018 for artdaq by  doxygen 1.6.1