00001 #ifndef TRIGGER_DECISION_TOOL_CONFIGURATION_ACCESS_H
00002 #define TRIGGER_DECISION_TOOL_CONFIGURATION_ACCESS_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #include <string>
00014 #include <vector>
00015
00016 #include "TrigConfHLTData/HLTChainList.h"
00017 #include "TrigDecisionTool/Logger.h"
00018 #include "TrigDecisionTool/CacheGlobalMemory.h"
00019 #include "TrigDecisionTool/ChainGroup.h"
00020
00021 namespace Trig {
00022
00023 class ConfigurationAccess : public virtual Logger {
00024 public:
00025 ConfigurationAccess();
00026 virtual ~ConfigurationAccess();
00027
00028 std::vector< std::string > getListOfTriggers(const Trig::ChainGroup* chaingroup) const;
00029 std::vector< std::string > getListOfTriggers(const std::string& triggerNames=".*") const;
00030
00031 std::vector< std::string > getListOfStreams(const Trig::ChainGroup* chaingroup) const;
00032 std::vector< std::string > getListOfStreams(const std::string& triggerNames=".*") const;
00033
00034 std::vector< std::string > getListOfGroups(const Trig::ChainGroup* chaingroup) const;
00035 std::vector< std::string > getListOfGroups(const std::string& triggerNames=".*") const;
00036
00037 std::vector< std::vector< std::string > > getListOfTriggerElements(const Trig::ChainGroup* chaingroup) const;
00038 std::vector< std::vector< std::string > > getListOfTriggerElements(const std::string& triggerNames=".*") const;
00039
00040 float getPrescale(const Trig::ChainGroup* chaingroup, unsigned int condition=TrigDefs::Physics) const;
00041 float getPrescale(const std::string& triggerNames="EF._*", unsigned int condition=TrigDefs::Physics) const;
00042
00043 protected:
00044
00045
00046 void configurationUpdate(const TrigConf::HLTChainList* confChains,
00047 const TrigConf::CTPConfig* confItems);
00048
00049
00050 private:
00051
00052 virtual Trig::CacheGlobalMemory* cgm() const =0;
00053
00054
00055
00056 };
00057 }
00058
00059 #endif