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