artdaq  v2_02_03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
artdaq Namespace Reference

The artdaq namespace. More...

Namespaces

 detail
 The artdaq::detail namespace contains internal implementation details for some classes.
 

Classes

class  AggregatorApp
 AggregatorApp is an artdaq::Commandable derived class which controls the AggregatorCore. More...
 
class  AggregatorCore
 AggregatorCore implements the state machine for the Aggregator artdaq application. AggregatorCore processes incoming events in one of three roles: Data Logger, Online Monitor, or Dispatcher. More...
 
class  BoardReaderApp
 BoardReaderApp is an artdaq::Commandable derived class which controls the BoardReaderCore state machine. More...
 
class  BoardReaderCore
 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...
 
class  Commandable
 Commandable is the base class for all artdaq components which implement the artdaq state machine. More...
 
class  CommandableFragmentGenerator
 CommandableFragmentGenerator is a FragmentGenerator-derived abstract class that defines the interface for a FragmentGenerator designed as a state machine with start, stop, etc., transition commands. More...
 
class  CompositeDriver
 CompositeDriver handles a set of lower-level generators. More...
 
class  EventBuilderApp
 EventBuilderApp is an artdaq::Commandable derived class which controls the EventBuilderCore. More...
 
class  EventBuilderCore
 EventBuilderCore implements the state machine for the EventBuilder artdaq application. EventBuilderCore receives Fragment objects from the DataReceiverManager, and sends them to the EventStore. More...
 
class  MPISentry
 The MPISentry class initializes and finalizes the MPI context that the artdaq applciations run in. More...
 
class  CapacityTestPolicy
 A RoutingMasterPolicy which tries to fully load the first receiver, then the second, and so on. More...
 
class  NoOpPolicy
 A RoutingMasterPolicy which simply assigns Sequence IDs to tokens in the order they were received. More...
 
class  RoundRobinPolicy
 A RoutingMasterPolicy which evenly distributes Sequence IDs to all receivers. If an uneven number of tokens have been received, extra tokens are stored for the next table update. More...
 
class  RoutingMasterPolicy
 The interface through which RoutingMasterCore obtains Routing Tables using received Routing Tokens. More...
 
class  RoutingMasterApp
 RoutingMasterApp is an artdaq::Commandable derived class which controls the RoutingMasterCore state machine. More...
 
class  RoutingMasterCore
 RoutingMasterCore implements the state machine for the RoutingMaster artdaq application. RoutingMasterCore collects tokens from receivers, and at regular intervals uses these tokens to build Routing Tables that are sent to the senders. More...
 
class  StatisticsHelper
 This class manages MonitoredQuantity instances for the *Core classes. More...
 
class  BuildInfo
 BuildInfo is an art::EDProducer which saves information about package builds to the data file. More...
 
class  EventDump
 Write Event information to the console. More...
 
class  PrintBuildInfo
 An art::EDAnalyzer which prints any artdaq::BuildInfo objects stored in the run. More...
 
class  RandomDelayFilter
 A filter which delays for a random amount of time, then drops a random fraction of events. Used to simulate the delays and efficiency of real filters. More...
 
struct  GetPackageBuildInfo
 Wrapper around the artdaq::GetPackageBuildInfo::getPackageBuildInfo function. More...
 
class  GenericFragmentSimulator
 GenericFragmentSimulator creates simulated Generic events, with data distributed according to a "histogram" provided in the configuration data. More...
 
class  Globals
 The artdaq::Globals class contains several variables which are useful across the entire artdaq system. More...
 
struct  NetMonHeader
 Header with length information for NetMonTransport messages. More...
 
class  DataReceiverManager
 Receives Fragment objects from one or more DataSenderManager instances using TransferInterface plugins DataReceiverMaanger runs a reception thread for each source, and can automatically suppress reception from sources which are going faster than the others. More...
 
class  FragmentStoreElement
 This class contains tracking information for all Fragment objects which have been received from a specific source. More...
 
class  DataSenderManager
 Sends Fragment objects using TransferInterface plugins. Uses Routing Tables if confgiured, otherwise will Round-Robin Fragments to the destinations. More...
 
class  EventStore
 The EventStore class collects Fragment objects, until it receives a complete event, at which point the event is handed over to the art thread. More...
 
class  cmd_
 The "cmd_" class serves as the base class for all artdaq's XML-RPC commands. More...
 
class  init_
 
class  soft_init_
 
class  reinit_
 
class  start_
 Command class representing a start transition. More...
 
class  pause_
 
class  resume_
 
class  stop_
 
class  shutdown_
 shutdown_ Command class More...
 
class  status_
 status_ Command class More...
 
class  report_
 report_ Command class More...
 
class  reset_stats_
 reset_stats_ Command class More...
 
class  legal_commands_
 legal_commands_ Command class More...
 
class  register_monitor_
 register_monitor_ Command class More...
 
class  unregister_monitor_
 unregister_monitor_ Command class More...
 
class  xmlrpc_commander
 The xmlrpc_commander class serves as the XMLRPC server run in each artdaq application. More...
 
class  RTIDDS
 DDS Transport Implementation. More...
 
class  AutodetectTransfer
 The AutodetectTransfer TransferInterface plugin sets up a Shmem_transfer plugin or TCPSocket_transfer plugin depending if the source and destination are on the same host, to maximize throughput. More...
 
class  MPITransfer
 MPITransfer is a TransferInterface implementation plugin that transfers data using MPI. More...
 
class  MulticastTransfer
 MulticastTransfer is a TransferInterface implementation plugin that transfers data using Multicast. More...
 
class  NullTransfer
 NullTransfer does not send or receive data, but acts as if it did. More...
 
class  RTIDDSTransfer
 RTIDDSTransfer is a TransferInterface implementation plugin that transfers data using RTI DDS. More...
 
class  ShmemTransfer
 A TransferInterface implementation plugin that transfers data using Shared Memory. More...
 
class  TCPSocketTransfer
 TransferInterface implementation plugin that sends data using TCP sockets. More...
 
class  TransferInterface
 This interface defines the functions used to transfer data between artdaq applications. More...
 
class  TransferWrapper
 TransferWrapper wraps a TransferInterface so that it can be used in the ArtdaqInput class to make an art::Source. More...
 
class  Config
 Helper class for configuring the builder test. More...
 
class  FragmentSniffer
 This art::EDAnalyzer plugin tries to get Fragments from each event, asserting that the correct number of Fragments were present. More...
 
class  TransferTest
 Test a set of TransferInterface plugins. More...
 

Typedefs

typedef std::unique_ptr
< artdaq::CommandableFragmentGenerator
makeFunc_t (fhicl::ParameterSet const &ps)
 Constructs a CommandableFragmentGenerator instance, and returns a pointer to it. More...
 
typedef artdaq::BuildInfo
<&instanceName,
artdaqcore::GetPackageBuildInfo,
artdaq::GetPackageBuildInfo
ArtdaqBuildInfo
 Specialized artdaq::BuildInfo object for the Artdaq build info.
 
typedef art::Source
< detail::RawEventQueueReader
RawInput
 RawInput is a typedef of art::Source<detail::RawEventQueueReader>
 

Enumerations

enum  RequestMode { Single, Buffer, Window, Ignored }
 The RequestMode enumeration contains the possible ways which CommandableFragmentGenerator responds to data requests.
 

Functions

void display_bits (void *memstart, size_t nbytes, std::string sourcename)
 Write out memory, for debugging purposes. More...
 
std::unique_ptr
< CommandableFragmentGenerator
makeCommandableFragmentGenerator (std::string const &generator_plugin_spec, fhicl::ParameterSet const &ps)
 Load a CommandableFragmentGenerator plugin. More...
 
std::unique_ptr
< RoutingMasterPolicy
makeRoutingMasterPolicy (std::string const &policy_plugin_spec, fhicl::ParameterSet const &ps)
 Load a RoutingMasterPolicy plugin. More...
 
void configureMessageFacility (char const *progname, bool useConsole=true)
 Configure and start the message facility. Provide the program name so that messages will be appropriately tagged. More...
 
void setMsgFacAppName (const std::string &appType, unsigned short port)
 Set the message facility application name using the specified application type and port number. More...
 
std::string infoFilename (std::string const &prefix, int rank, int run)
 Generate a filename using the given parameters. More...
 
std::string exception_msg (const std::runtime_error &er, const std::string &helpText="execute request")
 Write an exception message. More...
 
std::string exception_msg (const art::Exception &er, const std::string &helpText)
 Write an exception message. More...
 
std::string exception_msg (const cet::exception &er, const std::string &helpText)
 Write an exception message. More...
 
std::string exception_msg (const std::string &erText, const std::string &helpText)
 Write an exception message. More...
 
template<>
std::string cmd_::getParam< std::string > (const xmlrpc_c::paramList &paramList, int index)
 Get a parameter from the parameter list. More...
 
template<>
art::RunID cmd_::getParam< art::RunID > (const xmlrpc_c::paramList &paramList, int index)
 Get a parameter from the parameter list. More...
 
template<>
fhicl::ParameterSet cmd_::getParam< fhicl::ParameterSet > (const xmlrpc_c::paramList &paramList, int index)
 Get a parameter from the parameter list. More...
 
std::unique_ptr
< artdaq::TransferInterface
MakeTransferPlugin (const fhicl::ParameterSet &pset, std::string plugin_label, TransferInterface::Role role)
 Load a TransferInterface plugin. More...
 
std::ostream & operator<< (std::ostream &ost, Config const &c)
 Stream a Config object to the given stream. More...
 

Variables

static std::string instanceName = "ArtdaqBuildInfo"
 Name of this BuildInfo instance.
 

Detailed Description

The artdaq namespace.

Namespace used to differentiate the artdaq version of GetPackageBuildInfo from other versions present in the system.

Typedef Documentation

typedef std::unique_ptr< artdaq::RoutingMasterPolicy > artdaq::makeFunc_t(fhicl::ParameterSet const &ps)

Constructs a CommandableFragmentGenerator instance, and returns a pointer to it.

Constructs a RoutingMasterPolicy instance, and returns a pointer to it.

Parameters
psParameter set for initializing the CommandableFragmentGenerator
Returns
A smart pointer to the CommandableFragmentGenerator
Parameters
psParameter set for initializing the RoutingMasterPolicy
Returns
A smart pointer to the RoutingMasterPolicy

Definition at line 16 of file GeneratorMacros.hh.

Function Documentation

template<>
art::RunID artdaq::cmd_::getParam< art::RunID > ( const xmlrpc_c::paramList &  paramList,
int  index 
)

Get a parameter from the parameter list.

Parameters
paramListThe parameter list
indexIndex of the parameter in the parameter list
Returns
The requested parameter

This specialized cmd_getParam for the art::RunID type

Definition at line 238 of file xmlrpc_commander.cc.

template<>
fhicl::ParameterSet artdaq::cmd_::getParam< fhicl::ParameterSet > ( const xmlrpc_c::paramList &  paramList,
int  index 
)

Get a parameter from the parameter list.

Parameters
paramListThe parameter list
indexIndex of the parameter in the parameter list
Returns
The requested parameter

This specialized cmd_getParam for the fhicl::ParameterSet type

Definition at line 257 of file xmlrpc_commander.cc.

template<>
std::string artdaq::cmd_::getParam< std::string > ( const xmlrpc_c::paramList &  paramList,
int  index 
)

Get a parameter from the parameter list.

Parameters
paramListThe parameter list
indexIndex of the parameter in the parameter list
Returns
The requested parameter

This specialized cmd_getParam for the std::string type

Definition at line 224 of file xmlrpc_commander.cc.

void artdaq::configureMessageFacility ( char const *  progname,
bool  useConsole = true 
)

Configure and start the message facility. Provide the program name so that messages will be appropriately tagged.

Parameters
prognameThe name of the program
useConsoleShould console output be activated? Default = true

Definition at line 11 of file configureMessageFacility.cc.

void artdaq::display_bits ( void *  memstart,
size_t  nbytes,
std::string  sourcename 
)

Write out memory, for debugging purposes.

Parameters
memstartWhere to start writing out
nbytesNumber of bytes to write
sourcenameCategory to log bytes under

Definition at line 43 of file AggregatorCore.cc.

std::string artdaq::exception_msg ( const std::runtime_error &  er,
const std::string &  helpText = "execute request" 
)

Write an exception message.

Parameters
erA std::runtime_error to print
helpTextAdditional information about the exception context. Default: "execute request"
Returns
Exception message

Definition at line 38 of file xmlrpc_commander.cc.

std::string artdaq::exception_msg ( const art::Exception &  er,
const std::string &  helpText 
)

Write an exception message.

Parameters
erAn art::Exception to print
helpTextAdditional information abou the exception context
Returns
Exception message

Definition at line 55 of file xmlrpc_commander.cc.

std::string artdaq::exception_msg ( const cet::exception &  er,
const std::string &  helpText 
)

Write an exception message.

Parameters
erA cet::exceptio to print
helpTextAdditional information abou the exception context
Returns
Exception message

Definition at line 72 of file xmlrpc_commander.cc.

std::string artdaq::exception_msg ( const std::string &  erText,
const std::string &  helpText 
)

Write an exception message.

Parameters
erTextA std::string to print
helpTextAdditional information abou the exception context
Returns
Exception message

Definition at line 89 of file xmlrpc_commander.cc.

std::string artdaq::infoFilename ( std::string const &  prefix,
int  rank,
int  run 
)

Generate a filename using the given parameters.

Parameters
prefixPrefix for the file name
rankRank of the application
runRun number
Returns
prefix + run (4 digits) + "_" + rank (4 digits) + ".txt";

Definition at line 7 of file infoFilename.cc.

std::unique_ptr< artdaq::CommandableFragmentGenerator > artdaq::makeCommandableFragmentGenerator ( std::string const &  generator_plugin_spec,
fhicl::ParameterSet const &  ps 
)

Load a CommandableFragmentGenerator plugin.

Parameters
generator_plugin_specName of the plugin
psParameterSet used to configure the plugin
Returns
Pointer to the new plugin instance

Definition at line 8 of file makeCommandableFragmentGenerator.cc.

std::unique_ptr< artdaq::RoutingMasterPolicy > artdaq::makeRoutingMasterPolicy ( std::string const &  policy_plugin_spec,
fhicl::ParameterSet const &  ps 
)

Load a RoutingMasterPolicy plugin.

Parameters
policy_plugin_specName of the RoutingMasterPolicy
psParameterSet used to configure the RoutingMasterPolicy
Returns
std::unique_ptr<RoutingMasterPolicy> to the new RoutingMasterPolicy instance

Definition at line 8 of file makeRoutingMasterPolicy.cc.

std::unique_ptr< TransferInterface > artdaq::MakeTransferPlugin ( const fhicl::ParameterSet &  pset,
std::string  plugin_label,
TransferInterface::Role  role 
)

Load a TransferInterface plugin.

Parameters
psetParameterSet used to configure the TransferInterface
plugin_labelName of the plugin
roleWhether the TransferInterface should be configured as kSend or kReceive
Returns
Pointer to the new TransferInterface instance

Definition at line 12 of file MakeTransferPlugin.cc.

std::ostream& artdaq::operator<< ( std::ostream &  ost,
Config const &  c 
)
inline

Stream a Config object to the given stream.

Parameters
ostStream to write to
cConfig to stream
Returns
Stream with config printed to it

Definition at line 248 of file Config.hh.

void artdaq::setMsgFacAppName ( const std::string &  appType,
unsigned short  port 
)

Set the message facility application name using the specified application type and port number.

Parameters
appTypeApplication name
portXMLRPC port of this application instance

Definition at line 152 of file configureMessageFacility.cc.