00001 #ifndef __GAUDI_CHRONOSTATSVC_STAT_H__
00002 #define __GAUDI_CHRONOSTATSVC_STAT_H__
00003
00004 #include <string>
00005
00006 #include "GaudiKernel/IChronoStatSvc.h"
00007
00008
00015
00016
00017
00021
00022 class Stat
00023 {
00024 public:
00028 Stat( IChronoStatSvc* chronoStatSvc = 0 ,
00029 const std::string& statTag = "STAT::UNNAMED" ,
00030 const IChronoStatSvc::StatFlag & Flag = 0 ,
00031 const IChronoStatSvc::StatWeight & Weight = 1 )
00032 : m_chronoStatSvc( chronoStatSvc )
00033 , m_statTag ( statTag )
00034 { if( 0 != m_chronoStatSvc ) { m_chronoStatSvc->stat( m_statTag , Flag , Weight ); } };
00039 ~Stat(){}
00043 inline void print() const { if( 0 != m_chronoStatSvc ) { m_chronoStatSvc->statPrint( m_statTag ) ; } };
00047 private:
00051 mutable IChronoStatSvc* m_chronoStatSvc;
00055 std::string m_statTag;
00057 };
00058
00059
00060
00061 #endif // __GAUDI_CHRONOSTATSVC_STAT_H__