00001 #ifndef _ots_DetectorConfiguration_h_
00002 #define _ots_DetectorConfiguration_h_
00003
00004 #include "otsdaq-core/ConfigurationDataFormats/ConfigurationBase.h"
00005
00006 #include <string>
00007 #include <map>
00008 #include <vector>
00009
00010 namespace ots
00011 {
00012
00013 class DetectorConfiguration : public ConfigurationBase
00014 {
00015
00016 public:
00017
00018 DetectorConfiguration(void);
00019 virtual ~DetectorConfiguration(void);
00020
00021
00022 void init(ConfigurationManager *configManager);
00023
00024
00025 const std::vector<std::string>& getDetectorIDs (void) const;
00026 const std::vector<std::string>& getDetectorTypes (void) const;
00027 const std::string& getDetectorType (const std::string& detectorID) const;
00028 const std::string& getDetectorStatus(const std::string& detectorID) const;
00029
00030
00031 const std::map<std::string, unsigned int>& getNameToRowMap() const { return nameToRow_; }
00032
00033 private:
00034 enum{DetectorID,
00035 DetectorType,
00036 DetectorStatus};
00037
00038 std::map<std::string, unsigned int> nameToRow_;
00039 std::vector<std::string> detectorIDs_;
00040 std::vector<std::string> detectorTypes_;
00041
00042 };
00043 }
00044 #endif