00001 #include "otsdaq-core/DataManager/DataProducer.h"
00002 #include "otsdaq-core/DataManager/DataManagerSingleton.h"
00003 #include "otsdaq-core/DataManager/DataManager.h"
00004 #include "otsdaq-core/ConfigurationInterface/ConfigurationManager.h"
00005
00006
00007 #include <iostream>
00008 #include <memory>
00009 using namespace ots;
00010
00011
00012 DataProducer::DataProducer(std::string supervisorApplicationUID, std::string bufferUID, std::string processorUID, unsigned int bufferSize)
00013 : WorkLoop (processorUID)
00014 , DataProcessor (supervisorApplicationUID, bufferUID, processorUID)
00015 , bufferSize_ (bufferSize)
00016 {
00017 registerToBuffer();
00018 }
00019
00020
00021 DataProducer::~DataProducer(void)
00022 {
00023 }
00024
00025
00026 void DataProducer::registerToBuffer(void)
00027 {
00028 __MOUT__ << "\tProducerID: " << processorUID_ << " is registering to DataManager pointer: " << DataManagerSingleton::getInstance(supervisorApplicationUID_) << std::endl;
00029 (DataManagerSingleton::getInstance(supervisorApplicationUID_))->registerProducer(bufferUID_,this);
00030 __MOUT__ << "\tProducerID: " << processorUID_ << "...registered" << std::endl;
00031 }
00032
00033
00034 void DataProducer::startProcessingData(std::string runNumber)
00035 {
00036 WorkLoop::startWorkLoop();
00037 }
00038
00039
00040 void DataProducer::stopProcessingData(void)
00041 {
00042 WorkLoop::stopWorkLoop();
00043 }
00044
00045