tdaq-develop-2025-02-12
FEProducerVInterface.h
1 #ifndef _ots_FEProducerVInterface_h_
2 #define _ots_FEProducerVInterface_h_
3 
4 #include "otsdaq/DataManager/DataProducerBase.h"
5 #include "otsdaq/FECore/FEVInterface.h"
6 
7 #include <array>
8 #include <iostream>
9 #include <string>
10 #include <vector>
11 
12 namespace ots
13 {
20 {
21  public:
22  FEProducerVInterface(const std::string& interfaceUID,
23  const ConfigurationTree& theXDAQContextConfigTree,
24  const std::string& interfaceConfigurationPath);
25 
26  virtual ~FEProducerVInterface(void);
27 
28  virtual void startProcessingData(std::string /*runNumber*/)
29  {
30  __FE_COUT__ << "Do nothing. The FE Manager starts the workloop." << __E__;
31  }
32  virtual void stopProcessingData(void)
33  {
34  __FE_COUT__ << "Do nothing. The FE Manager stops the workloop." << __E__;
35  }
36 
37  virtual void copyToNextBuffer(const std::string& dataToWrite);
38  virtual std::string* getNextBuffer(void);
39  virtual void writeCurrentBuffer(void);
40 
41  protected:
42  std::string* dataP_;
43  std::map<std::string, std::string>* headerP_;
44 };
45 
46 } // namespace ots
47 
48 #endif
virtual void writeCurrentBuffer(void)
virtual void copyToNextBuffer(const std::string &dataToWrite)
virtual std::string * getNextBuffer(void)