00001 #ifndef ATLASAUDITOR_MEMORYAUDITOR_H 00002 #define ATLASAUDITOR_MEMORYAUDITOR_H 00003 00004 // ClassName: MemoryAuditor 00005 // 00006 // Description: Monitors the memory use of each algorithm 00007 // 00008 // Author: M. Shapiro, LBNL 00009 // 00010 #include "GaudiKernel/Auditor.h" 00011 00012 class INamedInterface; 00013 00014 class MemoryAuditor:public Auditor { 00015 00016 public: 00017 MemoryAuditor(const std::string& name, ISvcLocator* pSvcLocator); 00018 virtual ~MemoryAuditor(); 00019 virtual void beforeInitialize(INamedInterface* alg); 00020 virtual void afterInitialize(INamedInterface* alg); 00021 virtual void beforeReinitialize(INamedInterface* alg); 00022 virtual void afterReinitialize(INamedInterface* alg); 00023 virtual void beforeExecute(INamedInterface* alg); 00024 virtual void afterExecute(INamedInterface* alg, const StatusCode& ); 00025 virtual void beforeBeginRun(INamedInterface* alg); 00026 virtual void afterBeginRun(INamedInterface *alg); 00027 virtual void beforeEndRun(INamedInterface* alg); 00028 virtual void afterEndRun(INamedInterface *alg); 00029 virtual void beforeFinalize(INamedInterface* alg); 00030 virtual void afterFinalize(INamedInterface* alg); 00031 00032 virtual void before(CustomEventTypeRef evt, const std::string& caller); 00033 virtual void after(CustomEventTypeRef evt, const std::string& caller, const StatusCode& ); 00034 00035 00036 virtual StatusCode sysFinalize( ); 00037 00038 private: 00039 StringArrayProperty m_types; 00040 bool printinfo(std::string theString); 00041 }; 00042 00043 #endif