00001
00002
00003
00004 #ifndef XAOD_ANALYSIS
00005
00006 #ifndef TrigDecisionTool_DecisionObjectHandleAthena_h
00007 #define TrigDecisionTool_DecisionObjectHandleAthena_h
00008
00009 #include <string>
00010 #include "AsgTools/AsgToolsConf.h"
00011 #include "StoreGate/DataHandle.h"
00012
00013
00014 #include "TrigDecisionTool/Logger.h"
00015 #include "TrigDecisionTool/DecisionObjectHandle.h"
00016 #include "TrigDecisionTool/EventPtrDef.h"
00017 #include "TrigDecisionEvent/TrigDecision.h"
00018 #include "AsgTools/AsgMessaging.h"
00019
00020 class StoreGateSvc;
00021
00022 namespace TrigDec {
00023 class TrigDecision;
00024 }
00025
00026
00027 namespace Trig {
00031 class DecisionObjectHandleAthena : public DecisionObjectHandle<TrigDec::TrigDecision,TrigDec::TrigDecision>,
00032 public DataHandle<TrigDec::TrigDecision>
00033 {
00034 public:
00035 DecisionObjectHandleAthena( EventPtr_t sg, const std::string& key );
00036 using DataHandle<TrigDec::TrigDecision>::reset;
00037 virtual void reset();
00038 virtual TrigDec::TrigDecision const * getDecision() const;
00039 virtual TrigDec::TrigDecision const * getNavigation() const;
00040 private:
00041 StoreGateSvc* m_sg;
00042 const std::string m_key;
00043 mutable TrigDec::TrigDecision const * m_object;
00044 };
00045 }
00046 #endif // TrigDecisionTool_DecisionObjectHandle_h
00047
00048 #endif //ifndef XAOD_ANALYSIS