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;
55 const std::string& feProducerID);
61 void dumpStatus(std::ostream* out = (std::ostream*)&(std::cout))
const;
70 void startAllBuffers(
const std::string& runNumber);
71 void stopAllBuffers(
void);
72 void resumeAllBuffers(
void);
73 void pauseAllBuffers(
void);
75 void configureBuffer(
const std::string& bufferUID);
76 void startBuffer(
const std::string& bufferUID, std::string runNumber);
77 void stopBuffer(
const std::string& bufferUID);
78 void resumeBuffer(
const std::string& bufferUID);
79 void pauseBuffer(
const std::string& bufferUID);
90 std::vector<DataProducerBase*> producers_;
91 std::vector<DataConsumer*> consumers_;
94 std::map<std::string ,
103 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)
owner of the producer object!
bool parentSupervisorHasFrontends_
void configureAllBuffers(void)
void dumpStatus(std::ostream *out=(std::ostream *)&(std::cout)) const
void registerConsumer(const std::string &bufferUID, DataConsumer *consumer)
void destroyBuffers(void)
virtual void configure(void)
State Machine Methods.