Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

ChronoStatSvc.h

Go to the documentation of this file.
00001 #ifndef      __GAUDI_CHRONOSTATSVC_CHRONOSTATSVC_H__
00002 #define      __GAUDI_CHRONOSTATSVC_CHRONOSTATSVC_H__
00003 
00004 #include "GaudiKernel/Kernel.h" 
00005 #include "GaudiKernel/Service.h" 
00006 #include "GaudiKernel/IChronoStatSvc.h"
00007 #include <string> 
00008 #include <map> 
00009 
00010 
00011 class ISvcLocator  ;
00012 class ImessageSvc  ;
00013 
00014 class ChronoEntity ;
00015 class StatEntity   ;
00016 
00017 
00028 
00029 class ChronoStatSvc: virtual public IChronoStatSvc, 
00030                      virtual public Service 
00031 {
00032   
00033  public: 
00034   
00037   typedef std::map<IChronoStatSvc::ChronoTag,ChronoEntity>  ChronoMap ; 
00038   typedef std::map<IChronoStatSvc::StatTag,StatEntity>      StatMap   ;  
00039   
00042   ChronoStatSvc( const std::string& name, ISvcLocator* svcloc );
00044   virtual ~ChronoStatSvc();
00045   
00047   virtual StatusCode initialize();
00048 
00050   virtual StatusCode finalize();
00051   
00053   virtual StatusCode    queryInterface(const IID& riid, void** ppvUnknown);
00054   
00057   virtual StatusCode    chronoStart  ( const IChronoStatSvc::ChronoTag& chronoTag );
00058   
00061   virtual StatusCode    chronoStop   ( const IChronoStatSvc::ChronoTag& chronoTag );
00062   
00065   virtual StatusCode    chronoPrint  ( const IChronoStatSvc::ChronoTag& chronoTag );
00066   
00069   virtual ChronoStatus  chronoStatus ( const IChronoStatSvc::ChronoTag& chronoTag ); 
00070   
00074   virtual StatusCode     stat          ( const IChronoStatSvc::StatTag    &  statTag    , 
00075                                          const IChronoStatSvc::StatFlag   &  statFlag   ,
00076                                          const IChronoStatSvc::StatWeight &  statWeight ) ; 
00079   virtual StatusCode     statPrint     (  const IChronoStatSvc::ChronoTag& statTag) ; 
00080  
00081 
00082  private: 
00083   
00087   ChronoMap      m_chronoEntities; 
00088   
00090   int            m_intChronoPrintLevel ;
00091   MSG::Level     m_chronoPrintLevel    ; 
00093   bool           m_chronoTableFlag     ;   
00095   bool           m_chronoCoutFlag      ;   
00097   bool           m_chronoOrderFlag     ;
00099   bool           m_printUserTime       ; 
00101   bool           m_printSystemTime     ; 
00103   bool           m_printEllapsedTime   ; 
00104   //
00108   StatMap        m_statEntities; 
00109   
00111   int            m_intStatPrintLevel ;
00112   MSG::Level     m_statPrintLevel    ; 
00114   bool           m_statTableFlag     ;   
00116   bool           m_statCoutFlag      ;   
00118   bool           m_statOrderFlag     ;
00120 };
00121 
00122 //
00123 //
00124 //
00125 
00126 
00127 #endif   //  __GAUDI_CHRONOSTATSVC_CHRONOSTATSVC_H__
00128 

Generated at Wed Nov 21 12:22:29 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000