otsdaq  v2_00_00
DataProcessor.h
1 #ifndef _ots_DataProcessor_h_
2 #define _ots_DataProcessor_h_
3 
4 #include "otsdaq-core/WorkLoopManager/WorkLoop.h"
5 #include "otsdaq-core/DataManager/CircularBuffer.h"
6 #include "otsdaq-core/DataManager/CircularBufferBase.h"
7 #include <string>
8 
9 namespace ots
10 {
11 
12 
14 {
15 public:
16  DataProcessor(std::string supervisorApplicationUID, std::string bufferUID, std::string processorUID);
17  virtual ~DataProcessor(void);
18 
19  virtual void registerToBuffer (void) = 0;
20  virtual void startProcessingData (std::string runNumber) = 0;
21  virtual void stopProcessingData (void) = 0;
22  virtual void pauseProcessingData (void){stopProcessingData();}
23  virtual void resumeProcessingData(void){startProcessingData("");}
24 
25  //Getters
26  std::string getProcessorID(void);
27 
28  void setCircularBuffer(CircularBufferBase* circularBuffer);
29 
30 protected:
31  const std::string supervisorApplicationUID_;
32  const std::string bufferUID_;
33  const std::string processorUID_;
34  CircularBufferBase* theCircularBuffer_;
35 };
36 
37 }
38 
39 #endif