otsdaq  v2_01_00
ROCToFEConfiguration.h
1 #ifndef ots_ROCToFEConfiguration_h
2 #define ots_ROCToFEConfiguration_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 ~ROCToFEConfiguration(void);
19 
20  //Methods
21  void init(ConfigurationManager *configManager);
22 
23  //Getters
24  std::vector<std::string> getFEWROCsList (std::string fECNumber) const;
25  std::vector<std::string> getFERROCsList (std::string fEDNumber) const;
26  std::vector<std::string> getFEWCards (unsigned int supervisorInstance) const;
27  unsigned int getFEWChannel (const std::string& rOCName) const;
28  unsigned int getFEWROCAddress(const std::string& rOCName) const;
29  unsigned int getFERChannel (const std::string& rOCName) const;
30 
31 
32 
33 private:
34  enum{DetectorID,
35  FEWName,
36  FEWChannel,
37  FEWROCAddress,
38  FERName,
39  FERChannel,
40  FERROCAddress};
41  struct ROCInfo
42  {
43  std::string theFEWName_;
44  unsigned int theFEWChannel_;
45  unsigned int theFEWROCAddress_;
46  std::string theFERName_;
47  unsigned int theFERChannel_;
48  unsigned int theFERROCAddress_;
49  };
50  std::map<std::string, ROCInfo> nameToInfoMap_;
51 };
52 }
53 #endif