otsdaq  v1_01_02
 All Classes Namespaces Functions
ARTDAQDataManager.cc
1 #include "otsdaq-core/ARTDAQDataManager/ARTDAQDataManager.h"
2 #include "otsdaq-core/DataProcessorPlugins/ARTDAQConsumer.h"
3 
4 #include <iostream>
5 #include <cassert>
6 
7 using namespace ots;
8 
9 
10 //========================================================================================================================
11 ARTDAQDataManager::ARTDAQDataManager(const ConfigurationTree& theXDAQContextConfigTree, const std::string& supervisorConfigurationPath)
12 : DataManager (theXDAQContextConfigTree, supervisorConfigurationPath)
13 {
14  __MOUT__ << "Begin!" << std::endl;
15  __MOUT__ << "Begin!" << std::endl;
16  __MOUT__ << "Begin!" << std::endl;
17  __MOUT__ << "Begin!" << std::endl;
18  __MOUT__ << "Begin!" << std::endl;
19  theMPIProcess_.init("BoardReader", artdaq::TaskType::BoardReaderTask);
20  __MOUT__ << "Initialized!" << std::endl;
21  __MOUT__ << "Initialized!" << std::endl;
22  __MOUT__ << "Initialized!" << std::endl;
23  __MOUT__ << "Initialized!" << std::endl;
24  __MOUT__ << "Initialized!" << std::endl;
25 }
26 
27 //========================================================================================================================
28 ARTDAQDataManager::~ARTDAQDataManager(void)
29 {}
30 
31 //========================================================================================================================
32 void ARTDAQDataManager::configure(void)
33 {
34  DataManager::configure();
35  __MOUT__ << "Data manager configured now pass the MPI stuff" << std::endl;
36  for(auto it=DataManager::buffers_.begin(); it!=DataManager::buffers_.end(); it++)
37  for(auto& itc: it->second.consumers_)
38  if(dynamic_cast<ARTDAQConsumer*>(itc.get()))
39  {
40  dynamic_cast<ARTDAQConsumer*>(itc.get())->initLocalGroup(theMPIProcess_.getRank());
41  return;//There can only be 1 ARTDAQConsumer for each ARTDAQDataManager!!!!!!!
42  }
43 
44 }
45 
46 
47 //========================================================================================================================
48 void ARTDAQDataManager::stop(void)
49 {
50  DataManager::stop();
51 }