otsdaq  v1_01_04
 All Classes Namespaces Functions
DetectorConfiguration.h
1 #ifndef _ots_DetectorConfiguration_h_
2 #define _ots_DetectorConfiguration_h_
3 
4 #include "otsdaq-core/ConfigurationDataFormats/ConfigurationBase.h"
5 
6 #include <string>
7 #include <map>
8 #include <vector>
9 
10 namespace ots
11 {
12 
14 {
15 
16 public:
17 
19  virtual ~DetectorConfiguration(void);
20 
21  //Methods
22  void init(ConfigurationManager *configManager);
23 
24  //Getters
25  const std::vector<std::string>& getDetectorIDs (void) const;
26  const std::vector<std::string>& getDetectorTypes (void) const;//TODO add a class or configuration.info where there is a list of supported DetectorTypes
27  const std::string& getDetectorType (const std::string& detectorID) const;
28  const std::string& getDetectorStatus(const std::string& detectorID) const;
29 
30 
31  const std::map<std::string, unsigned int>& getNameToRowMap() const { return nameToRow_; }
32 
33 private:
34  enum{DetectorID,
35  DetectorType,
36  DetectorStatus};
37 
38  std::map<std::string, unsigned int> nameToRow_;
39  std::vector<std::string> detectorIDs_;
40  std::vector<std::string> detectorTypes_;
41 
42 };
43 }
44 #endif