otsdaq  v2_03_00
ROCToFEConfiguration.h
1 #ifndef ots_ROCToFEConfiguration_h
2 #define ots_ROCToFEConfiguration_h
3 
4 #include <string>
5 #include <vector>
6 
7 #include "otsdaq-core/TableCore/TableBase.h"
8 
9 namespace ots
10 {
12 {
13  public:
15  virtual ~ROCToFEConfiguration(void);
16 
17  // Methods
18  void init(ConfigurationManager* configManager);
19 
20  // Getters
21  std::vector<std::string> getFEWROCsList(std::string fECNumber) const;
22  std::vector<std::string> getFERROCsList(std::string fEDNumber) const;
23  std::vector<std::string> getFEWCards(unsigned int supervisorInstance) const;
24  unsigned int getFEWChannel(const std::string& rOCName) const;
25  unsigned int getFEWROCAddress(const std::string& rOCName) const;
26  unsigned int getFERChannel(const std::string& rOCName) const;
27 
28  private:
29  enum
30  {
31  DetectorID,
32  FEWName,
33  FEWChannel,
34  FEWROCAddress,
35  FERName,
36  FERChannel,
37  FERROCAddress
38  };
39  struct ROCInfo
40  {
41  std::string theFEWName_;
42  unsigned int theFEWChannel_;
43  unsigned int theFEWROCAddress_;
44  std::string theFERName_;
45  unsigned int theFERChannel_;
46  unsigned int theFERROCAddress_;
47  };
48  std::map<std::string, ROCInfo> nameToInfoMap_;
49 };
50 } // namespace ots
51 #endif