00001 #ifndef HLTcore_HLTConfigProvider_h 00002 #define HLTcore_HLTConfigProvider_h 00003 00016 #include "FWCore/ParameterSet/interface/Registry.h" 00017 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00018 00019 #include<string> 00020 #include<vector> 00021 00022 // 00023 // class declaration 00024 // 00025 00026 class HLTConfigProvider { 00027 00028 public: 00029 00031 bool init(const std::string& processName); 00032 00034 void dump(const std::string& what) const; 00035 00037 00039 unsigned int size() const; 00041 unsigned int size(unsigned int trigger) const; 00042 unsigned int size(const std::string& trigger) const; 00043 00045 const std::string& tableName() const; 00046 00048 const std::vector<std::string>& triggerNames() const; 00049 const std::string& triggerName(unsigned int triggerIndex) const; 00051 unsigned int triggerIndex(const std::string& triggerName) const; 00052 00054 const std::vector<std::string>& moduleLabels(unsigned int trigger) const; 00055 const std::vector<std::string>& moduleLabels(const std::string& trigger) const; 00056 const std::string& moduleLabel(unsigned int trigger, unsigned int module) const; 00057 const std::string& moduleLabel(const std::string& trigger, unsigned int module) const; 00058 00060 unsigned int moduleIndex(unsigned int trigger, const std::string& module) const; 00061 unsigned int moduleIndex(const std::string& trigger, const std::string& module) const; 00062 00064 const std::string moduleType(const std::string& module) const; 00065 00067 const edm::ParameterSet modulePSet(const std::string& module) const; 00068 00069 00070 private: 00071 std::string processName_; 00072 00073 const edm::pset::Registry * registry_; 00074 00075 edm::ParameterSet ProcessPSet_; 00076 00077 std::string tableName_; 00078 std::vector<std::string> triggerNames_; 00079 std::vector<std::vector<std::string> > moduleLabels_; 00080 00081 std::map<std::string,unsigned int> triggerIndex_; 00082 std::vector<std::map<std::string,unsigned int> > moduleIndex_; 00083 00084 std::vector<std::string> pathNames_; 00085 std::vector<std::string> endpathNames_; 00086 00087 }; 00088 #endif