tdaq-develop-2025-02-12
|
< public DataProducer, public Configurable More...
#include <otsdaq/DataProcessorPlugins/ARTDAQProducer.h>
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 |
![]() | |
DataProducer (std::string supervisorApplicationUID, std::string bufferUID, std::string processorUID, unsigned int bufferSize=100) | |
virtual void | configure (void) |
![]() | |
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 |
![]() | |
DataProcessor (std::string supervisorApplicationUID, std::string bufferUID, std::string processorUID) | |
const std::string & | getProcessorID (void) const |
Getters. | |
void | setCircularBuffer (CircularBufferBase *circularBuffer) |
![]() | |
WorkLoop (const std::string &name) | |
void | startWorkLoop (void) |
bool | stopWorkLoop (void) |
bool | isActive (void) const |
![]() | |
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) |
![]() | |
Configurable (const ConfigurationTree &theXDAQContextConfigTree, const std::string &theConfigurationPath) | |
ConfigurationTree | getSelfNode () const |
const ConfigurationManager * | getConfigurationManager () 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 | |
![]() | |
const std::string & | getWorkLoopName (void) const |
Getters. | |
![]() | |
const std::string | supervisorApplicationUID_ |
const std::string | bufferUID_ |
const std::string | processorUID_ |
CircularBufferBase * | theCircularBuffer_ |
![]() | |
volatile bool | continueWorkLoop_ |
![]() | |
const ConfigurationTree | theXDAQContextConfigTree_ |
const std::string | theConfigurationPath_ |
const std::string | theConfigurationRecordName_ |
< 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.
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.
|
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.
|
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.
|
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.
|
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.
|
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.