tdaq-develop-2025-02-12
ots::ARTDAQProducer Class Reference

< public DataProducer, public Configurable More...

#include <otsdaq/DataProcessorPlugins/ARTDAQProducer.h>

Inheritance diagram for ots::ARTDAQProducer:
ots::DataProducer ots::ARTDAQReaderProcessorBase ots::DataProducerBase ots::WorkLoop ots::Configurable ots::DataProcessor

Public Member Functions

 ARTDAQProducer (std::string supervisorApplicationUID, std::string bufferUID, std::string processorUID, const ConfigurationTree &theXDAQContextConfigTree, const std::string &configurationPath)
 
virtual ~ARTDAQProducer (void)
 
void pauseProcessingData (void) override
 
void resumeProcessingData (void) override
 
void startProcessingData (std::string runNumber) override
 
void stopProcessingData (void) override
 
- Public Member Functions inherited from ots::DataProducer
 DataProducer (std::string supervisorApplicationUID, std::string bufferUID, std::string processorUID, unsigned int bufferSize=100)
 
virtual void configure (void)
 
- Public Member Functions inherited from ots::DataProducerBase
 DataProducerBase (const std::string &supervisorApplicationUID, const std::string &bufferUID, const std::string &processorUID, unsigned int bufferSize=100)
 
virtual void registerToBuffer (void)
 mirror DataConsumer::registerToBuffer
 
template<class D , class H >
int attachToEmptySubBuffer (D *&data, H *&header)
 
template<class D , class H >
int setWrittenSubBuffer (void)
 
template<class D , class H >
int write (const D &buffer)
 
template<class D , class H >
int write (const D &buffer, const H &header)
 
unsigned int getBufferSize (void) const
 
- Public Member Functions inherited from ots::DataProcessor
 DataProcessor (std::string supervisorApplicationUID, std::string bufferUID, std::string processorUID)
 
const std::string & getProcessorID (void) const
 Getters.
 
void setCircularBuffer (CircularBufferBase *circularBuffer)
 
- Public Member Functions inherited from ots::WorkLoop
 WorkLoop (const std::string &name)
 
void startWorkLoop (void)
 
bool stopWorkLoop (void)
 
bool isActive (void) const
 
- Public Member Functions inherited from ots::ARTDAQReaderProcessorBase
 ARTDAQReaderProcessorBase (std::string supervisorApplicationUID, std::string bufferUID, std::string processorUID, const ConfigurationTree &theXDAQContextConfigTree, const std::string &configurationPath)
 
virtual ~ARTDAQReaderProcessorBase (void)
 
void initLocalGroup (int rank)
 these functions are not inherited, they define the core reader functionality
 
void configure (int rank)
 
void halt (void)
 
void pause (void)
 
void resume (void)
 
void start (const std::string &runNumber)
 
void stop (void)
 
- Public Member Functions inherited from ots::Configurable
 Configurable (const ConfigurationTree &theXDAQContextConfigTree, const std::string &theConfigurationPath)
 
ConfigurationTree getSelfNode () const
 
const ConfigurationManagergetConfigurationManager () const
 
const std::string & getContextUID () const
 
const std::string & getApplicationUID () const
 
unsigned int getApplicationLID () const
 
std::string getContextAddress () const
 
unsigned int getContextPort () const
 

Additional Inherited Members

- Protected Member Functions inherited from ots::WorkLoop
const std::string & getWorkLoopName (void) const
 Getters.
 
- Protected Attributes inherited from ots::DataProcessor
const std::string supervisorApplicationUID_
 
const std::string bufferUID_
 
const std::string processorUID_
 
CircularBufferBasetheCircularBuffer_
 
- Protected Attributes inherited from ots::WorkLoop
volatile bool continueWorkLoop_
 
- Protected Attributes inherited from ots::Configurable
const ConfigurationTree theXDAQContextConfigTree_
 
const std::string theConfigurationPath_
 
const std::string theConfigurationRecordName_
 

Detailed Description

< public DataProducer, public Configurable

ARTDAQProducer This class is a Data Producer plugin that allows a single artdaq Board Reader to be instantiated on the write side of an otsdaq Buffer.

Definition at line 20 of file ARTDAQProducer.h.

Constructor & Destructor Documentation

◆ ARTDAQProducer()

ARTDAQProducer::ARTDAQProducer ( std::string  supervisorApplicationUID,
std::string  bufferUID,
std::string  processorUID,
const ConfigurationTree theXDAQContextConfigTree,
const std::string &  configurationPath 
)

#define ARTDAQ_FCL_PATH std::string(ENV("USER_DATA")) + "/" + "ARTDAQConfigurations/" #define ARTDAQ_FILE_PREAMBLE "boardReader" : WorkLoop(processorUID) , DataProducer(supervisorApplicationUID, bufferUID, processorUID) // theXDAQContextConfigTree.getNode(configurationPath).getNode("BufferSize").getValue<unsigned // int>()) , Configurable(theXDAQContextConfigTree, configurationPath)

Definition at line 21 of file ARTDAQProducerImpl.cc.

◆ ~ARTDAQProducer()

ARTDAQProducer::~ARTDAQProducer ( void  )
virtual

ARTDAQProducer::ARTDAQProducer(std::string interfaceID, MPI_Comm local_group_comm, std::string name) :FEVInterface (feId, 0) ,local_group_comm_(local_group_comm) ,name_ (name)

Definition at line 140 of file ARTDAQProducerImpl.cc.

Member Function Documentation

◆ pauseProcessingData()

void ARTDAQProducer::pauseProcessingData ( void  )
overridevirtual

============================================================================== void ARTDAQProducer::initLocalGroup(int rank) "ARTDAQConfigurations/" #define ARTDAQ_FILE_PREAMBLE "boardReader" ============================================================================== void ARTDAQProducer::configure(int rank) ============================================================================== void ARTDAQProducer::halt(void)

Reimplemented from ots::DataProcessor.

Definition at line 209 of file ARTDAQProducerImpl.cc.

◆ resumeProcessingData()

void ARTDAQProducer::resumeProcessingData ( void  )
overridevirtual

COUT << "\tPause" << E; // FIXME These are passed as parameters uint64_t timeout = 45; uint64_t timestamp = 184467440737095516; report_string_ = ""; external_request_status_ = fragment_receiver_ptr_->pause(timeout, timestamp); if(!external_request_status_) { report_string_ = "Error pausing "; report_string_.append(name_ + "."); } }

Reimplemented from ots::DataProcessor.

Definition at line 224 of file ARTDAQProducerImpl.cc.

◆ startProcessingData()

void ARTDAQProducer::startProcessingData ( std::string  runNumber)
overridevirtual

COUT << "\tResume" << E; // FIXME These are passed as parameters uint64_t timeout = 45; uint64_t timestamp = 184467440737095516; report_string_ = ""; external_request_status_ = fragment_receiver_ptr_->resume(timeout, timestamp); if(!external_request_status_) { report_string_ = "Error resuming "; report_string_.append(name_ + "."); } }

Reimplemented from ots::DataProducer.

Definition at line 239 of file ARTDAQProducerImpl.cc.

◆ stopProcessingData()

void ARTDAQProducer::stopProcessingData ( void  )
overridevirtual

COUT << "\tStart" << E;

art::RunID runId((art::RunNumber_t)boost::lexical_cast<art::RunNumber_t>(runNumber));

// FIXME These are passed as parameters uint64_t timeout = 45; uint64_t timestamp = 184467440737095516;

report_string_ = ""; COUT << "\tStart run: " << runId << E; external_request_status_ = fragment_receiver_ptr_->start(runId, timeout, timestamp); COUT << "\tStart already crashed " << E; if(!external_request_status_) { report_string_ = "Error starting "; report_string_.append(name_ + " "); report_string_.append("for run number "); report_string_.append(boost::lexical_cast<std::string>(runId.run())); report_string_.append(", timeout "); report_string_.append(boost::lexical_cast<std::string>(timeout)); report_string_.append(", timestamp "); report_string_.append(boost::lexical_cast<std::string>(timestamp)); report_string_.append("."); } }

Reimplemented from ots::DataProducer.

Definition at line 270 of file ARTDAQProducerImpl.cc.


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