00001 // $Id: IStatSvc.h,v 1.1 2007/08/06 08:39:40 marcocle Exp $ 00002 // ============================================================================ 00003 #ifndef GAUDIKERNEL_ISTATSVC_H 00004 #define GAUDIKERNEL_ISTATSVC_H 1 00005 // ============================================================================ 00006 // Include files 00007 // ============================================================================ 00008 // STD&STL 00009 // ============================================================================ 00010 #include <string> 00011 // ============================================================================ 00012 // GaudiKernel 00013 // ============================================================================ 00014 #include "GaudiKernel/IInterface.h" 00015 // ============================================================================ 00016 // forward declaration 00017 // ============================================================================ 00018 class StatEntity ; 00019 // ============================================================================ 00027 class IStatSvc : virtual public IInterface 00028 { 00029 public: 00031 typedef std::string StatTag ; 00033 typedef double StatFlag ; 00034 public: 00040 virtual void stat ( const StatTag& t , const StatFlag& f ) = 0 ; 00045 virtual void statPrint ( const StatTag& t ) = 0; 00050 virtual const StatEntity* stat ( const StatTag& t ) const = 0 ; 00051 public: 00053 static const InterfaceID& interfaceID() ; 00054 protected: 00055 // virtual and protected destructor 00056 virtual ~IStatSvc( ); 00057 }; 00058 // ============================================================================ 00059 // The END 00060 // ============================================================================ 00061 #endif // GAUDIKERNEL_ISTATSVC_H 00062 // ============================================================================