otsdaq_components  v2_02_00
DACStream.h
1 #ifndef _ots_DACStream_h_
2 #define _ots_DACStream_h_
3 
4 #include "otsdaq-components/DetectorConfiguration/ROCStream.h"
5 
6 #include <string>
7 #include <map>
8 
9 namespace ots
10 {
11 
12 //class DetectorConfiguration;
13 //class DetectorToFEConfiguration;
14 //class DACsConfigurationBase;
15 //class MaskConfiguration;
16 class ConfigurationManager;
17 class ConfigurationTree;
18 
19 class DACStream //ConfigurationStream (makeDACStream, makeMaskStream)
20 {
21 public:
22  typedef std::multimap<unsigned int, ROCStream> ROCStreams;
23  typedef ROCStreams::iterator iterator;
24  typedef ROCStreams::const_iterator const_iterator;
25 
26  DACStream(void);
27  virtual ~DACStream(void);
28 
29  void makeStream(const ConfigurationTree& feToDetectorTree);
30 
31  //Iterators
32  iterator begin(void) {return theChannelStreamMap_.begin();}
33  iterator end (void) {return theChannelStreamMap_.end();}
34  const_iterator begin(void) const {return theChannelStreamMap_.begin();}
35  const_iterator end (void) const {return theChannelStreamMap_.end();}
36 
37  const std::multimap<unsigned int, ROCStream>& getChannelStreamMap() const {return theChannelStreamMap_;}
38 
39 private:
40  // fec channel
41  std::multimap<unsigned int, ROCStream> theChannelStreamMap_;
42  //std::map<std::string, ConfigurationVersion> ConfigurationVersions_;
43 };
44 
45 }
46 
47 #endif //ots_DACStream_h