otsdaq  v2_03_00
DetectorToFEConfiguration.h
1 #ifndef _ots_DetectorToFEConfiguration_h_
2 #define _ots_DetectorToFEConfiguration_h_
3 
4 #include <string>
5 #include <vector>
6 
7 #include "otsdaq-coreTableCore/TableBase.h"
8 
9 namespace ots
10 {
12 {
13  public:
15  virtual ~DetectorToFEConfiguration(void);
16 
17  // Methods
18  void init(ConfigurationManager* configManager);
19 
20  // Getters
21  std::vector<std::string> getFEWriterDetectorList(std::string interfaceID) const;
22  std::vector<std::string> getFEReaderDetectorList(std::string interfaceID) const;
23  // std::vector<std::string> getFEWCards (unsigned int supervisorInstance) const;
24  unsigned int getFEWriterChannel(const std::string& detectorID) const;
25  unsigned int getFEWriterDetectorAddress(const std::string& detectorID) const;
26  unsigned int getFEReaderChannel(const std::string& detectorID) const;
27 
28  private:
29  enum
30  {
31  DetectorID,
32  FEWriterID,
33  FEWriterChannel,
34  FEWriterDetectorAddress,
35  FEReaderID,
36  FEReaderChannel,
37  FEReaderDetectorAddress
38  };
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 } // namespace ots
51 #endif