00001 #include "otsdaq-core/DataProcessorPlugins/RawDataVisualizerConsumer.h"
00002
00003 #include "otsdaq-core/MessageFacility/MessageFacility.h"
00004 #include "otsdaq-core/Macros/CoutMacros.h"
00005 #include "otsdaq-core/Macros/ProcessorPluginMacros.h"
00006
00007 using namespace ots;
00008
00009
00010
00011 RawDataVisualizerConsumer::RawDataVisualizerConsumer(std::string supervisorApplicationUID, std::string bufferUID, std::string processorUID, const ConfigurationTree& theXDAQContextConfigTree, const std::string& configurationPath)
00012 : WorkLoop (processorUID)
00013 , DataConsumer (supervisorApplicationUID, bufferUID, processorUID, LowConsumerPriority)
00014 , Configurable (theXDAQContextConfigTree, configurationPath)
00015 {
00016 }
00017
00018
00019 RawDataVisualizerConsumer::~RawDataVisualizerConsumer(void)
00020 {
00021 }
00022
00023
00024 void RawDataVisualizerConsumer::startProcessingData(std::string runNumber)
00025 {
00026 DataConsumer::startProcessingData(runNumber);
00027 }
00028
00029
00030 void RawDataVisualizerConsumer::stopProcessingData(void)
00031 {
00032 DataConsumer::stopProcessingData();
00033 }
00034
00035
00036 bool RawDataVisualizerConsumer::workLoopThread(toolbox::task::WorkLoop* workLoop)
00037 {
00038 __COUT__ << DataProcessor::processorUID_ << " running, because workloop: " <<
00039 WorkLoop::continueWorkLoop_ << std::endl;
00040 slowRead();
00041 return WorkLoop::continueWorkLoop_;
00042 }
00043
00044
00045 void RawDataVisualizerConsumer::fastRead(void)
00046 {
00047
00048
00049 if(DataConsumer::read(dataP_, headerP_) < 0)
00050 {
00051 usleep(100);
00052 return;
00053 }
00054 __COUT__ << DataProcessor::processorUID_ << " UID: " << supervisorApplicationUID_ << std::endl;
00055
00056
00057
00058
00059
00060
00061 DataConsumer::setReadSubBuffer<std::string, std::map<std::string, std::string>>();
00062 }
00063
00064
00065 void RawDataVisualizerConsumer::slowRead(void)
00066 {
00067
00068 if(DataConsumer::read(data_, header_) < 0)
00069 {
00070 usleep(1000);
00071 return;
00072 }
00073 __MOUT__ << DataProcessor::processorUID_ << " UID: " << supervisorApplicationUID_ << std::endl;
00074 }
00075
00076 DEFINE_OTS_PROCESSOR(RawDataVisualizerConsumer)