tdaq-develop-2025-02-12
ots Namespace Reference

Classes

class  JSONDispatcher
 
class  UDPDump
 
struct  GetPackageBuildInfo
 
struct  CommandPacket
 
class  UDPReceiver
 
class  OtsFragmentNameHelper
 OtsFragmentNameHelper extends ArtdaqFragmentNamingService. This implementation uses artdaq-demo's SystemTypeMap and directly assigns names based on it. More...
 
class  UDPFragment
 
class  UDPFragmentWriter
 
class  ARTDAQDataManager
 
class  ARTDAQOnlineMonitorSupervisor
 
class  ARTDAQReaderProcessorBase
 
class  ARTDAQSupervisor
 
class  ARTDAQSupervisorTRACEController
 
class  BitManipulator
 
class  CgiDataUtilities
 
class  CodeEditor
 
class  CodeEditorSupervisor
 
class  Configurable
 
class  ConfigurationHandler
 
class  ConfigurationInterface
 
class  ConfigurationManager
 
struct  TableInfo
 
struct  GroupInfo
 
class  ConfigurationManagerRW
 
struct  TableEditStruct
 
struct  GroupEditStruct
 
struct  identity
 
class  ConfigurationTree
 
class  DatabaseConfigurationInterface
 
class  FileConfigurationInterface
 
class  TimeFormatter
 
class  ARTDAQDataManagerSupervisor
 
class  ARTDAQFEDataManagerSupervisor
 
class  ConfigurationSupervisorBase
 
class  CorePropertySupervisorBase
 
class  CoreSupervisorBase
 
class  DataManagerSupervisor
 
class  FEDataManagerSupervisor
 
class  FESupervisor
 
class  BufferImplementation
 
class  CircularBuffer
 
class  CircularBufferBase
 
class  DataConsumer
 
class  DataManager
 
class  DataManagerSingleton
 
class  DataProcessor
 
class  DataProducer
 
class  DataProducerBase
 
class  DQMHistosConsumerBase
 
class  RawDataSaverConsumerBase
 
class  ARTDAQConsumer
 < public DataConsumer, public Configurable More...
 
class  ARTDAQProducer
 < public DataProducer, public Configurable More...
 
class  DataDecoderConsumer
 
class  OtsDataSaverConsumer
 
class  RawDataSaverConsumer
 
class  RawDataVisualizerConsumer
 
class  TCPDataListenerProducer
 
class  TCPDataReceiverProducer
 
class  TCPDataStreamerConsumer
 
class  UDPDataListenerProducer
 
class  UDPDataStreamerConsumer
 
class  FEProducerVInterface
 
class  FESlowControlsChannel
 
class  FESlowControlsWorkLoop
 
class  FEVInterface
 
class  FEVInterfacesManager
 
class  FiniteStateMachine
 
class  RunControlStateMachine
 
class  RunInfoVInterface
 < : public Configurable More...
 
class  VStateMachine
 
class  GatewaySupervisor
 
class  Iterator
 
struct  BinaryStringMacros
 
struct  __OTS_PAUSE_EXCEPTION__
 
struct  __OTS_STOP_EXCEPTION__
 
struct  StringMacros
 
class  ITRACEController
 
class  TRACEController
 
class  NetworkConverters
 
class  NetworkDevice
 
class  ReceiverSocket
 
class  Socket
 
class  TCPClient
 
class  TCPClientBase
 
class  TCPListenServer
 
class  TCPPacket
 
class  TCPPublishServer
 
class  TCPReceiverSocket
 
class  TCPSendClient
 
class  TCPServer
 
class  TCPServerBase
 
class  TCPSocket
 
class  TCPSubscribeClient
 
class  TCPTransceiverSocket
 A class that can read/write to a socket. More...
 
class  TCPTransmitterSocket
 A class that can write to a socket. More...
 
class  TransceiverSocket
 
class  TransmitterSocket
 
class  UDPDataStreamerBase
 
class  ProgressBar
 
class  DQMHistosBase
 
class  VisualDataManager
 
class  SlowControlsVInterface
 
class  Parameter
 
class  Parameters
 
class  SOAPCommand
 
class  SOAPMessenger
 
class  SOAPParameter
 
class  SOAPParameters
 
class  SOAPUtilities
 
class  SupervisorDescriptorInfoBase
 
class  AllSupervisorInfo
 
class  SupervisorInfo
 
class  TableBase
 
class  TableGroupKey
 
class  TableInfoReader
 
class  TableVersion
 
class  TableView
 
class  TableViewColumnInfo
 
class  ARTDAQBoardReaderTable
 
class  ARTDAQDataLoggerTable
 
class  ARTDAQDispatcherTable
 
class  ARTDAQEventBuilderTable
 
class  ARTDAQRoutingManagerTable
 
class  ARTDAQTableBase
 <virtual so future plugins can inherit from multiple table base classes More...
 
class  DesktopIconTable
 
class  FESlowControlsTable
 
class  IterateTable
 
class  MessageFacilityTable
 
class  SlowControlsTableBase
 <virtual so future plugins can inherit from multiple table base classes More...
 
class  TemplateTable
 
class  XDAQContextTable
 
class  RemoteWebUsers
 
class  WebUsers
 
class  WizardSupervisor
 
class  WorkLoop
 
class  WorkLoopManager
 
class  ConvertFromXML
 
class  ConvertToXML
 
class  DOMTreeErrorReporter
 
class  HttpXmlDocument
 
class  XmlDocument
 
struct  TableViewEx
 
struct  TestConfiguration001
 
struct  TestConfiguration002
 
class  SimpleSoap
 

Typedefs

typedef artdaq::BuildInfo<&instanceName, artdaqcore::GetPackageBuildInfo, artdaq::GetPackageBuildInfo, ots::GetPackageBuildInfoArtdaqOtsBuildInfo
 
typedef std::string packetBuffer_t
 
typedef std::list< packetBuffer_t > packetBuffer_list_t
 
typedef ConfigurationInterface *() cbmakeFunc_t()
 
typedef DataProcessor *() dpvimakeFunc_t()
 
typedef std::map< xdata::UnsignedIntegerT, XDAQ_CONST_CALL xdaq::ApplicationDescriptor * > SupervisorDescriptors
 key is the crate number
 
typedef std::map< unsigned int, const SupervisorInfo & > SupervisorInfoMap
 

Enumerations

enum class  CommandType : uint8_t { Read = 0 , Write = 1 , Start_Burst = 2 , Stop_Burst = 3 }
 
enum class  ReturnCode : uint8_t { Read = 0 , First = 1 , Middle = 2 , Last = 3 }
 
enum class  DataType : uint8_t { Raw = 0 , JSON = 1 , String = 2 }
 

Functions

FragmentType toFragmentType (std::string t_string)
 Lookup the type code for a fragment by its string name. More...
 
std::string fragmentTypeToString (FragmentType val)
 Look up the name of the given FragmentType. More...
 
std::map< artdaq::Fragment::type_t, std::string > makeFragmentTypeMap ()
 Create a list of all Fragment types defined by this package, in the format that RawInput expects. More...
 
std::ostream & operator<< (std::ostream &, UDPFragment const &)
 Let the "<<" operator dump the UDPFragment's data to stdout.
 
ConfigurationInterfacemakeConfigurationInterface (std::string const &interfacePluginName)
 
DataProcessormakeDataProcessor (std::string const &processorPluginName, std::string const &supervisorApplicationUID, std::string const &bufferUID, std::string const &processorUID, ConfigurationTree const &configurationTree, std::string const &pathToInterfaceConfiguration)
 
template<class T >
getFEMacroConstArgumentValue (FEVInterface::frontEndMacroConstArgs_t args, const std::string &argName, const T &defaultValue=T())
 
template<>
std::string getFEMacroConstArgumentValue< std::string > (FEVInterface::frontEndMacroConstArgs_t args, const std::string &argName, const std::string &defaultValue)
 specialized template version of getFEMacroConstArgumentValue for string
 
template<class T >
getFEMacroArgumentValue (FEVInterface::frontEndMacroArgs_t args, const std::string &argName)
 
template<>
std::string getFEMacroArgumentValue< std::string > (FEVInterface::frontEndMacroArgs_t argsIn, const std::string &argName)
 specialized template version of getFEMacroArgumentValue for string
 
std::unique_ptr< FEVInterfacemakeInterface (const std::string &interfacePluginName, const std::string &interfaceUID, const ConfigurationTree &configurationTree, const std::string &pathToInterfaceConfiguration)
 
RunInfoVInterfacemakeRunInfo (const std::string &runInfoPluginName, const std::string &runInfoUID)
 
void INIT_MF (const char *name)
 
SlowControlsVInterfacemakeSlowControls (const std::string &slowControlsPluginName, const std::string &slowControlsUID, const ConfigurationTree &configurationTree, const std::string &pathToControlsConfiguration)
 Path to ControlsDashboard Table. More...
 
std::ostream & operator<< (std::ostream &os, const SOAPCommand &c)
 
TableBasemakeTable (std::string const &tablePluginName)
 

Variables

static std::string instanceName = "ArtdaqOts"
 
static std::vector< std::string > const names {"MISSED", "UDP", "UNKNOWN"}
 
static bool MESSAGE_FACILITY_INITIALIZED
 

Detailed Description

Class: UDPDump Module Type: analyzer File: UDPDump_module.cc Description: Prints out information about each event.

The UDP Receiver class receives UDP data from an otsdaq application and puts that data into UDPFragments for further ARTDAQ analysis.

It currently assumes two things to be true:

  1. The first word of the UDP packet is an 8-bit flag with information about the status of the sender
  2. The second word is an 8-bit sequence ID, used for detecting dropped UDP datagrams

Some C++ conventions used:

-Append a "_" to every private member function and variable

Implementation of "UDPFragment", an artdaq::Fragment overlay class

UDPFragmentWriter

Class derived from UDPFragment which allows writes to the data (for simulation purposes). Note that for this reason it contains non-const members which hide the const members in its parent class, UDPFragment, including its reference to the artdaq::Fragment object, artdaq_Fragment_, as well as its functions pointing to the beginning and end of ADC values in the fragment, dataBegin() and dataEnd()

Using LibraryManager, find the correct library and return an instance of the specified configuration interface.

Using LibraryManager, find the correct library and return an instance of the specified interface.

This is the basic example of a raw data saver plugin. It can be used as is and it will save the data taken from a buffer in binary format without adding anything extra. If you are planning on specializing any methods you should inherit from RawDataSaverConsumerBase the same way this consumer is doing.

Using LibraryManager, find the correct library and return an instance of the specified Run Info Interface.

declare special ots soft PAUSE exception a PAUSE exception thrown during a running workloop by a state machine plugin will PAUSE the global state machine and allow for manual intervention to resume a run.

declare special ots harder STOP exception a STOP exception thrown during a running workloop by a state machine plugin will STOP the global state machine and allow for manual intervention to resume a run.

Using LibraryManager, find the correct library and return an instance of the specified Slow Controls Interface.

Function Documentation

◆ fragmentTypeToString()

std::string ots::fragmentTypeToString ( FragmentType  val)

Look up the name of the given FragmentType.

Parameters
valFragmentType to look up
Returns
Name of the given type (from the names vector)

Definition at line 18 of file FragmentType.cc.

◆ INIT_MF()

void ots::INIT_MF ( const char *  name)
inline

< make sure fcl always allows logging

Definition at line 13 of file MessageFacility.h.

◆ makeFragmentTypeMap()

std::map< artdaq::Fragment::type_t, std::string > ots::makeFragmentTypeMap ( )

Create a list of all Fragment types defined by this package, in the format that RawInput expects.

Returns
A list of all Fragment types defined by this package, in the format that RawInput expects

Definition at line 30 of file FragmentType.cc.

◆ makeRunInfo()

RunInfoVInterface * ots::makeRunInfo ( const std::string &  runInfoPluginName,
const std::string &  runInfoUID 
)

, // Key value for (eventual) RunInfoDashboard // Table in Configuration const ots::ConfigurationTree& configurationTree, // Pass the big tree const std::string& pathToControlsConfiguration) // Path to RunInfoDashboard Table

Definition at line 6 of file MakeRunInfo.cc.

◆ makeSlowControls()

ots::SlowControlsVInterface * ots::makeSlowControls ( const std::string &  slowControlsPluginName,
const std::string &  slowControlsUID,
const ConfigurationTree configurationTree,
const std::string &  pathToControlsConfiguration 
)

Path to ControlsDashboard Table.

Parameters
slowControlsUIDKey value for (eventual) ControlsDashboard Table in Configuration
configurationTreePass the big tree

Definition at line 6 of file MakeSlowControls.cc.

◆ toFragmentType()

ots::FragmentType ots::toFragmentType ( std::string  t_string)

Lookup the type code for a fragment by its string name.

Parameters
t_stringName of the Fragment type to lookup
Returns
artdaq::Fragment::type_t corresponding to string, or INVALID if not found

Definition at line 8 of file FragmentType.cc.