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