artdaq::DispatcherCore Class Reference

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

#include <artdaq/Application/DispatcherCore.hh>

Inheritance diagram for artdaq::DispatcherCore:
artdaq::DataReceiverCore

List of all members.

Public Member Functions

 DispatcherCore ()
 DispatcherCore Constructor.
 DispatcherCore (DispatcherCore const &)
 Copy Constructor is deleted.
 ~DispatcherCore ()
DispatcherCoreoperator= (DispatcherCore const &)
 Copy Assignment operator is deleted.
bool initialize (fhicl::ParameterSet const &pset) override
 Processes the initialize request.
std::string register_monitor (fhicl::ParameterSet const &pset)
 Create a new TransferInterface instance using the given configuration.
std::string unregister_monitor (std::string const &label)
 Delete the TransferInterface having the given unique label.

Detailed Description

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

Definition at line 21 of file DispatcherCore.hh.


Constructor & Destructor Documentation

artdaq::DispatcherCore::~DispatcherCore (  ) 

Destructor.

Definition at line 29 of file DispatcherCore.cc.


Member Function Documentation

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

Processes the initialize request.

Parameters:
pset ParameterSet used to configure the DispatcherCore
Returns:
Whether the initialize attempt succeeded
	* DispatcherCore accepts the following Parameters:
	* "daq" (REQUIRED): FHiCL table containing DAQ configuration
	*   "Dispatcher" (REQUIRED): FHiCL table containing Dispatcher 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 Dispatcher is a Data Logger
	*     "is_online_monitor": True if the Dispatcher is an Online Monitor. is_data_logger takes precedence
	*     "is_dispatcher": True if the Dispatcher 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 Dispatcher-based subrun rollover
	*     "subrun_duration" (Dfeault: 0): Maximum time for Dispatcher-based subrun rollover
	*     "subrun_event_count" (Default: 0): Maximum event count for Dispatcher-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 Dispatcher-based subrun rollover
	*     "filesize_check_interval_events" (Default: 20): Interval to check the file size when using Dispatcher-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 "Dispatcher" ParameterSet is also used to configure the EventStore. See that class' documentation for more information.

Implements artdaq::DataReceiverCore.

Definition at line 34 of file DispatcherCore.cc.

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

Copy Assignment operator is deleted.

Returns:
DispatcherCore copy

Reimplemented from artdaq::DataReceiverCore.

std::string artdaq::DispatcherCore::register_monitor ( fhicl::ParameterSet const &  pset  ) 

Create a new TransferInterface instance using the given configuration.

Parameters:
pset ParameterSet used to configure the TransferInterface
Returns:
String detailing any errors encountered or "Success"

See TransferInterface for details on the expected configuration

Definition at line 88 of file DispatcherCore.cc.

std::string artdaq::DispatcherCore::unregister_monitor ( std::string const &  label  ) 

Delete the TransferInterface having the given unique label.

Parameters:
label Label of the TransferInterface to delete
Returns:
String detailing any errors encountered or "Success"

Definition at line 157 of file DispatcherCore.cc.


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

Generated on 19 Feb 2018 for artdaq by  doxygen 1.6.1