00001 #ifndef STEPDECISION_H 00002 #define STEPDECISION_H 00003 00004 #include "GaudiKernel/Algorithm.h" 00005 00006 #include "HltSteerData/Signature.h" 00007 #include "HltStore/HltStoreSvc.h" 00008 00009 #include <vector> 00010 #include <string> 00011 00012 class StepDecision : public Algorithm 00013 { 00014 public: 00015 00016 StepDecision(const std::string& name, ISvcLocator* pSvcLocator); 00017 ~StepDecision(); 00018 00019 virtual bool isEnabled( ) const{return m_isEnabled;}; 00020 StatusCode initialize() {return StatusCode::SUCCESS;}; 00021 StatusCode execute() {return StatusCode::SUCCESS;}; 00022 StatusCode finalize() {return StatusCode::SUCCESS;}; 00023 00024 StatusCode initDecision(HltProcessor::Signature* ); 00025 int execDecision(const std::string& sigID); 00026 const std::string& getBehaviour() const { return m_behaviour; } 00027 const std::string& getContinue() const { return m_continue; } 00028 private: 00029 HltStoreSvc* m_HltStoreSvc; 00030 00031 std::string m_behaviour; 00032 std::string m_continue; 00033 std::map<std::string, HltProcessor::Signature*> m_SigMap; 00034 00035 bool m_isEnabled; 00036 }; 00037 #endif