00001 #include "otsdaq-core/ARTDAQDataManager/ARTDAQDataManager.h"
00002 #include "otsdaq-core/DataProcessorPlugins/ARTDAQConsumer.h"
00003
00004 #include <iostream>
00005 #include <cassert>
00006
00007 using namespace ots;
00008
00009
00010
00011 ARTDAQDataManager::ARTDAQDataManager(const ConfigurationTree& theXDAQContextConfigTree, const std::string& supervisorConfigurationPath)
00012 : DataManager (theXDAQContextConfigTree, supervisorConfigurationPath)
00013 {
00014 __MOUT__ << "Begin!" << std::endl;
00015 __MOUT__ << "Begin!" << std::endl;
00016 __MOUT__ << "Begin!" << std::endl;
00017 __MOUT__ << "Begin!" << std::endl;
00018 __MOUT__ << "Begin!" << std::endl;
00019 theMPIProcess_.init("BoardReader", artdaq::TaskType::BoardReaderTask);
00020 __MOUT__ << "Initialized!" << std::endl;
00021 __MOUT__ << "Initialized!" << std::endl;
00022 __MOUT__ << "Initialized!" << std::endl;
00023 __MOUT__ << "Initialized!" << std::endl;
00024 __MOUT__ << "Initialized!" << std::endl;
00025 }
00026
00027
00028 ARTDAQDataManager::~ARTDAQDataManager(void)
00029 {}
00030
00031
00032 void ARTDAQDataManager::configure(void)
00033 {
00034 DataManager::configure();
00035 __MOUT__ << "Data manager configured now pass the MPI stuff" << std::endl;
00036 for(auto it=DataManager::buffers_.begin(); it!=DataManager::buffers_.end(); it++)
00037 for(auto& itc: it->second.consumers_)
00038 if(dynamic_cast<ARTDAQConsumer*>(itc.get()))
00039 {
00040 dynamic_cast<ARTDAQConsumer*>(itc.get())->initLocalGroup(theMPIProcess_.getRank());
00041 return;
00042 }
00043
00044 }
00045
00046
00047
00048 void ARTDAQDataManager::stop(void)
00049 {
00050 DataManager::stop();
00051 }