00001 #ifndef GAUDIAUD_CHRONOAUDITOR_H 00002 #define GAUDIAUD_CHRONOAUDITOR_H 00003 00004 #include "GaudiKernel/Auditor.h" 00005 00006 class INamedInterface; 00007 class IChronoStatSvc; 00008 00014 class ChronoAuditor : virtual public Auditor { 00015 public: 00016 ChronoAuditor(const std::string& name, ISvcLocator* pSvcLocator); 00017 virtual ~ChronoAuditor(); 00018 virtual void beforeInitialize(INamedInterface* alg); 00019 virtual void afterInitialize(INamedInterface* alg); 00020 virtual void beforeReinitialize(INamedInterface* alg); 00021 virtual void afterReinitialize(INamedInterface* alg); 00022 virtual void beforeExecute(INamedInterface* alg); 00023 virtual void afterExecute(INamedInterface* alg, const StatusCode&); 00024 virtual void beforeBeginRun(INamedInterface* alg); 00025 virtual void afterBeginRun(INamedInterface *alg); 00026 virtual void beforeEndRun(INamedInterface* alg); 00027 virtual void afterEndRun(INamedInterface *alg); 00028 virtual void beforeFinalize(INamedInterface* alg); 00029 virtual void afterFinalize(INamedInterface* alg); 00030 00031 virtual void before(CustomEventTypeRef evt, const std::string& caller); 00032 virtual void after(CustomEventTypeRef evt, const std::string& caller, const StatusCode& ); 00033 00034 IChronoStatSvc* chronoSvc( ) { return m_chronoSvc; } 00035 private: 00036 IChronoStatSvc* m_chronoSvc; 00037 StringArrayProperty m_types; 00038 00039 }; 00040 00041 #endif