00001 #ifndef GAUDIAUDITOR_MemStatAuditor_H 00002 #define GAUDIAUDITOR_MemStatAuditor_H 1 00003 00004 00005 00015 #include "GaudiKernel/Auditor.h" 00016 00017 class INamedInterface; 00018 class IChronoStatSvc; 00019 00020 class MemStatAuditor:public Auditor { 00021 00022 public: 00023 MemStatAuditor(const std::string& name, ISvcLocator* pSvcLocator); 00024 virtual ~MemStatAuditor(); 00025 virtual void beforeInitialize(INamedInterface* alg); 00026 virtual void afterInitialize(INamedInterface* alg); 00027 virtual void beforeReinitialize(INamedInterface* alg); 00028 virtual void afterReinitialize(INamedInterface* alg); 00029 virtual void beforeExecute(INamedInterface* alg); 00030 virtual void afterExecute(INamedInterface* alg, const StatusCode &); 00031 virtual void beforeBeginRun(INamedInterface* alg); 00032 virtual void afterBeginRun(INamedInterface *alg); 00033 virtual void beforeEndRun(INamedInterface* alg); 00034 virtual void afterEndRun(INamedInterface *alg); 00035 virtual void beforeFinalize(INamedInterface* alg); 00036 virtual void afterFinalize(INamedInterface* alg); 00037 00038 virtual void before(CustomEventTypeRef evt, const std::string& caller); 00039 virtual void after(CustomEventTypeRef evt, const std::string& caller, const StatusCode& ); 00040 00041 virtual StatusCode sysFinalize( ); 00042 00043 private: 00044 00045 StringArrayProperty m_types; 00046 bool printinfo(const std::string& theString, const std::string& Tag ); 00047 IChronoStatSvc* statSvc() const { return m_stat; } 00048 IChronoStatSvc* m_stat; 00049 double m_vSize ; // vsize of the previous call to printinfo 00050 }; 00051 00052 #endif // GAUDIAUDITOR_MemStatAuditor_H 00053