otsdaq  v2_01_00
RawDataVisualizerConsumer_processor.cc
1 #include "otsdaq-core/DataProcessorPlugins/RawDataVisualizerConsumer.h"
2 
3 #include "otsdaq-core/MessageFacility/MessageFacility.h"
4 #include "otsdaq-core/Macros/CoutMacros.h"
5 #include "otsdaq-core/Macros/ProcessorPluginMacros.h"
6 
7 using namespace ots;
8 
9 
10 //========================================================================================================================
11 RawDataVisualizerConsumer::RawDataVisualizerConsumer(std::string supervisorApplicationUID, std::string bufferUID, std::string processorUID, const ConfigurationTree& theXDAQContextConfigTree, const std::string& configurationPath)
12 : WorkLoop (processorUID)
13 , DataConsumer (supervisorApplicationUID, bufferUID, processorUID, LowConsumerPriority)
14 , Configurable (theXDAQContextConfigTree, configurationPath)
15 {
16 }
17 
18 //========================================================================================================================
19 RawDataVisualizerConsumer::~RawDataVisualizerConsumer(void)
20 {
21 }
22 
23 //========================================================================================================================
24 void RawDataVisualizerConsumer::startProcessingData(std::string runNumber)
25 {
26  DataConsumer::startProcessingData(runNumber);
27 }
28 
29 //========================================================================================================================
30 void RawDataVisualizerConsumer::stopProcessingData(void)
31 {
32  DataConsumer::stopProcessingData();
33 }
34 
35 //========================================================================================================================
36 bool RawDataVisualizerConsumer::workLoopThread(toolbox::task::WorkLoop* workLoop)
37 {
38  __COUT__ << DataProcessor::processorUID_ << " running, because workloop: " <<
39  WorkLoop::continueWorkLoop_ << std::endl;
40  slowRead(); //fastRead();
41  return WorkLoop::continueWorkLoop_;
42 }
43 
44 //========================================================================================================================
45 void RawDataVisualizerConsumer::fastRead(void)
46 {
47  //__COUT__ << processorUID_ << " running!" << std::endl;
48  //This is making a copy!!!
49  if(DataConsumer::read(dataP_, headerP_) < 0)
50  {
51  usleep(100);
52  return;
53  }
54  __COUT__ << DataProcessor::processorUID_ << " UID: " << supervisorApplicationUID_ << std::endl;
55 
56 // //HW emulator
57 // // Burst Type | Sequence | 8B data
58 // __COUT__ << "Size fill: " << dataP_->length() << std::endl;
59 // dqmHistos_->fill(*dataP_,*headerP_);
60 
61  DataConsumer::setReadSubBuffer<std::string, std::map<std::string, std::string>>();
62 }
63 
64 //========================================================================================================================
65 void RawDataVisualizerConsumer::slowRead(void)
66 {
67  //This is making a copy!!!
68  if(DataConsumer::read(data_, header_) < 0)
69  {
70  usleep(1000);
71  return;
72  }
73  __MOUT__ << DataProcessor::processorUID_ << " UID: " << supervisorApplicationUID_ << std::endl;
74 }
75 
76 DEFINE_OTS_PROCESSOR(RawDataVisualizerConsumer)