1 #include "../ARTDAQDataManager/ARTDAQDataManager.h"
3 #include "otsdaq-core/DataProcessorPlugins/ARTDAQConsumer.h"
4 #include "otsdaq-core/DataProcessorPlugins/ARTDAQProducer.h"
6 #include "artdaq/BuildInfo/GetPackageBuildInfo.hh"
14 ARTDAQDataManager::ARTDAQDataManager(
const ConfigurationTree& theXDAQContextConfigTree,
15 const std::string& supervisorConfigurationPath)
16 :
DataManager(theXDAQContextConfigTree, supervisorConfigurationPath)
18 INIT_MF(
"BoardReaderDataManager");
19 __CFG_COUT__ <<
"Constructor." << __E__;
21 std::string name =
"BoardReader";
23 __CFG_MCOUT__(
"artdaq version " <<
25 artdaq::GetPackageBuildInfo::getPackageBuildInfo().getPackageVersion()
27 << artdaq::GetPackageBuildInfo::getPackageBuildInfo()
28 .getBuildTimestamp());
30 INIT_MF((name +
"App").c_str());
35 __CFG_COUT__ <<
"MF initialized" << __E__;
37 rank_ = Configurable::getApplicationLID();
41 unsigned short port = 5100;
47 __CFG_COUT__ <<
"END" << __E__;
49 __CFG_COUT__ <<
"Constructed." << __E__;
53 ARTDAQDataManager::~ARTDAQDataManager(
void) {}
56 void ARTDAQDataManager::configure(
void)
58 __CFG_COUT__ <<
"ARTDAQDataManager configuring..." << __E__;
60 DataManager::configure();
65 __CFG_COUT__ <<
"ARTDAQDataManager DataManager configured now pass the MPI stuff"
67 for(
auto it = DataManager::buffers_.begin(); it != DataManager::buffers_.end(); it++)
68 for(
auto& consumer : it->second.consumers_)
69 if(dynamic_cast<ARTDAQConsumer*>(consumer))
71 __CFG_COUT__ <<
"Found an ARTDAQ Consumer: " << consumer->getProcessorID()
79 __CFG_SS__ <<
"There was no ARTDAQ Consumer found on a buffer!" << __E__;
80 __CFG_COUT__ << ss.str();
82 __CFG_COUT__ <<
"Looking for an ARTDAQ Producer..." << __E__;
84 for(
auto it = DataManager::buffers_.begin(); it != DataManager::buffers_.end(); it++)
85 for(
auto& producer : it->second.producers_)
86 if(dynamic_cast<ARTDAQProducer*>(producer))
88 __CFG_COUT__ <<
"Found an ARTDAQ Producer: " << producer->getProcessorID()
96 ss <<
"No ARTDAQ Producers found either... so error!" << __E__;
97 __CFG_COUT__ << ss.str();
101 DataManager::dumpStatus((std::ostream*)&ss);
102 __COUT__ << ss.str() << __E__;
105 __CFG_COUT_ERR__ << ss.str();
110 void ARTDAQDataManager::stop(
void) { DataManager::stop(); }