1 #ifndef _ots_DataManager_h_
2 #define _ots_DataManager_h_
4 #include "otsdaq/Configurable/Configurable.h"
5 #include "otsdaq/DataManager/CircularBuffer.h"
6 #include "otsdaq/FiniteStateMachine/VStateMachine.h"
7 #include "otsdaq/Macros/CoutMacros.h"
8 #include "otsdaq/MessageFacility/MessageFacility.h"
18 class DataProducerBase;
20 class CircularBufferBase;
32 virtual void configure(
void);
33 virtual void halt(
void);
34 virtual void pause(
void);
35 virtual void resume(
void);
36 virtual void start(std::string runNumber);
37 virtual void stop(
void);
39 template<
class D,
class H>
40 void configureBuffer(
const std::string& bufferUID)
43 buffers_[bufferUID].status_ = Initialized;
46 void registerProducer(
const std::string& bufferUID,
49 void registerConsumer(
const std::string& bufferUID,
59 void dumpStatus(std::ostream* out = (std::ostream*)&(std::cout))
const;
62 void destroyBuffers(
void);
68 void stopAllBuffers(
void);
69 void resumeAllBuffers(
void);
70 void pauseAllBuffers(
void);
72 void startBuffer(
const std::string& bufferUID, std::string runNumber);
73 void stopBuffer(
const std::string& bufferUID);
74 void resumeBuffer(
const std::string& bufferUID);
75 void pauseBuffer(
const std::string& bufferUID);
86 std::vector<DataProducerBase*> producers_;
87 std::vector<DataConsumer*> consumers_;
90 std::map<std::string ,
Buffer > buffers_;
93 bool parentSupervisorHasFrontends_;
97 const std::map<std::string ,
Buffer>& getBuffers(
void)
const {
return buffers_; }
void unregisterFEProducer(const std::string &bufferID, const std::string &feProducerID)
void startAllBuffers(const std::string &runNumber)