00001 // $Header: /nfs/slac/g/glast/ground/cvs/GaudiKernel/GaudiKernel/IChronoStatSvc.h,v 1.1.1.1 2001/04/18 18:14:18 tlindner Exp $ 00002 #ifndef GAUDIKERNEL_ICHRONOSTATSVC_H 00003 #define GAUDIKERNEL_ICHRONOSTATSVC_H 00004 00005 // Include files 00006 #include "GaudiKernel/IInterface.h" 00007 #include <iostream> 00008 #include <string> 00009 00010 // Forward declarations 00011 class IMessageSvc; 00012 00013 // Declaration of the interface ID ( interface id, major version, minor version) 00014 static const InterfaceID IID_IChronoStatSvc(210, 1 , 0); 00015 00016 00026 class IChronoStatSvc : virtual public IInterface { 00027 public: 00029 static const InterfaceID& interfaceID() { return IID_IChronoStatSvc; } 00031 typedef std::string ChronoTag ; 00032 typedef std::string StatTag ; 00033 typedef double StatFlag ; // type of the Flag variable for statistics 00034 typedef double StatWeight ; // type of the Weight variable for statistics 00035 00036 enum ChronoStatus 00037 { 00038 UNKNOWN = 0 00039 , RUNNING 00040 , STOPPED 00041 }; 00042 00044 virtual ~IChronoStatSvc(){}; 00045 00047 virtual StatusCode chronoStart( const ChronoTag& ) = 0; 00048 00050 virtual StatusCode chronoStop( const ChronoTag& ) = 0; 00051 00053 virtual StatusCode chronoPrint( const ChronoTag& ) = 0; 00054 00056 virtual ChronoStatus chronoStatus( const ChronoTag& ) = 0; 00057 00059 virtual StatusCode stat( const StatTag&, const StatFlag&, const StatWeight& ) = 0; 00062 virtual StatusCode statPrint( const StatTag& ) = 0; 00063 }; 00064 00065 #endif // GAUDIKERNEL_ICHRONOSTATSVC_H
1.2.3 written by Dimitri van Heesch,
© 1997-2000