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;
29 const std::string& supervisorConfigurationPath);
34 virtual void halt(
void);
35 virtual void pause(
void);
36 virtual void resume(
void);
37 virtual void start(std::string runNumber);
38 virtual void stop(
void);
40 template<
class D,
class H>
41 void configureBuffer(
const std::string& bufferUID)
44 buffers_[bufferUID].status_ = Initialized;
48 const std::string& bufferUID,
52 const std::string& bufferUID,
57 const std::string& feProducerID);
63 void dumpStatus(std::ostream* out = (std::ostream*)&(std::cout))
const;
70 void configureAllBuffers(
void);
71 void startAllBuffers(
const std::string& runNumber);
72 void stopAllBuffers(
void);
73 void resumeAllBuffers(
void);
74 void pauseAllBuffers(
void);
76 void configureBuffer(
const std::string& bufferUID);
77 void startBuffer(
const std::string& bufferUID, std::string runNumber);
78 void stopBuffer(
const std::string& bufferUID);
79 void resumeBuffer(
const std::string& bufferUID);
80 void pauseBuffer(
const std::string& bufferUID);
91 std::vector<DataProducerBase*> producers_;
92 std::vector<DataConsumer*> consumers_;
95 std::map<std::string ,
104 const std::map<std::string ,
Buffer>& getBuffers(
void)
const
void unregisterFEProducer(const std::string &bufferID, const std::string &feProducerID)
void registerProducer(const std::string &bufferUID, DataProducerBase *producer)
The data manager becomes the owner of the producer object!
bool parentSupervisorHasFrontends_
void dumpStatus(std::ostream *out=(std::ostream *)&(std::cout)) const
void registerConsumer(const std::string &bufferUID, DataConsumer *consumer)
The data manager becomes the owner of the consumer object!
void destroyBuffers(void)
!!!!!Delete all Buffers and all the pointers of the producers and consumers
virtual void configure(void)
State Machine Methods.