otsdaq  v1_01_03
 All Classes Namespaces Functions
DetectorToFEConfiguration.h
1 #ifndef _ots_DetectorToFEConfiguration_h_
2 #define _ots_DetectorToFEConfiguration_h_
3 
4 #include "otsdaq-core/ConfigurationDataFormats/ConfigurationBase.h"
5 
6 #include <string>
7 #include <vector>
8 
9 namespace ots
10 {
11 
13 {
14 
15 public:
16 
18  virtual ~DetectorToFEConfiguration(void);
19 
20  //Methods
21  void init(ConfigurationManager *configManager);
22 
23  //Getters
24  std::vector<std::string> getFEWriterDetectorList (std::string interfaceID) const;
25  std::vector<std::string> getFEReaderDetectorList (std::string interfaceID) const;
26  //std::vector<std::string> getFEWCards (unsigned int supervisorInstance) const;
27  unsigned int getFEWriterChannel (const std::string& detectorID) const;
28  unsigned int getFEWriterDetectorAddress(const std::string& detectorID) const;
29  unsigned int getFEReaderChannel (const std::string& detectorID) const;
30 
31 private:
32  enum{DetectorID,
33  FEWriterID,
34  FEWriterChannel,
35  FEWriterDetectorAddress,
36  FEReaderID,
37  FEReaderChannel,
38  FEReaderDetectorAddress};
39  struct DetectorInfo
40  {
41  std::string theFEWriterID_;
42  unsigned int theFEWriterChannel_;
43  unsigned int theFEWriterDetectorAddress_;
44  std::string theFEReaderID_;
45  unsigned int theFEReaderChannel_;
46  unsigned int theFEReaderDetectorAddress_;
47  };
48  std::map<std::string, DetectorInfo> nameToInfoMap_;
49 };
50 }
51 #endif