| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

IChronoSvc Class Reference

"Chrono"-related part of interface IChronoStatSvc More...

#include <GaudiKernel/IChronoSvc.h>

Inheritance diagram for IChronoSvc:

[legend]
Collaboration diagram for IChronoSvc:
[legend]
List of all members.

Public Types

typedef std::string ChronoTag
 the actual type of identifier for Chrono objects
typedef double ChronoTime
 Type of the delta-time.
 UNKNOWN = 0
 RUNNING
 STOPPED
 USER = 0
 KERNEL
 ELAPSED
enum  ChronoStatus { UNKNOWN = 0, RUNNING, STOPPED }
enum  ChronoType { USER = 0, KERNEL, ELAPSED }
 SUCCESS = 1
 Normal successful completion.
 NO_INTERFACE
 Requested interface is not available.
 VERSMISMATCH
 Requested interface version is incompatible.
 LAST_ERROR
 Last error.
enum  Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR }
 Return status. More...

Public Member Functions

virtual ChronoEntitychronoStart (const ChronoTag &t)=0
 start chrono, tagged by its name
virtual const ChronoEntitychronoStop (const ChronoTag &t)=0
 stop chrono, tagged by its name
virtual ChronoTime chronoDelta (const ChronoTag &t, ChronoType f)=0
 return chrono delta time of last start/stop pair
virtual void chronoPrint (const ChronoTag &t)=0
 prints (using message service) info about chrono, tagged by its name
virtual ChronoStatus chronoStatus (const ChronoTag &t)=0
 return the status of named chrono
virtual const ChronoEntitychrono (const ChronoTag &t) const =0
 extract the chrono entity for the given tag (name)
virtual StatusCode queryInterface (const InterfaceID &riid, void **ppvInterface)=0
 Query interfaces of Interface.
virtual unsigned long addRef ()=0
 Increment the reference count of Interface instance.
virtual unsigned long release ()=0
 Release Interface instance.

Static Public Member Functions

static const InterfaceIDinterfaceID ()
 the unique interface identifier

Protected Member Functions

virtual ~IChronoSvc ()
 protected and virtual destructor

Detailed Description

"Chrono"-related part of interface IChronoStatSvc

The IChronoSvc is the interface implemented by the ChronoStatService. This interface is used by any algorithm or services wanting to study its own performance and CPU consumption and some statistical computation

Author:
Vanya BELYAEV ibelyaev@physics.syr.edu (inspired by Mauro VILLA's codes used within ARTE framework )
Date:
December 1, 1999

2007-07-08

Definition at line 33 of file IChronoSvc.h.


Member Typedef Documentation

typedef std::string IChronoSvc::ChronoTag

the actual type of identifier for Chrono objects

Definition at line 38 of file IChronoSvc.h.

typedef double IChronoSvc::ChronoTime

Type of the delta-time.

Definition at line 41 of file IChronoSvc.h.


Member Enumeration Documentation

enum IChronoSvc::ChronoStatus

Enumerator:
UNKNOWN 
RUNNING 
STOPPED 

Definition at line 46 of file IChronoSvc.h.

00047     {
00048       UNKNOWN = 0 ,                       
00049       RUNNING     , 
00050       STOPPED     
00051     };

enum IChronoSvc::ChronoType

Enumerator:
USER 
KERNEL 
ELAPSED 

Definition at line 53 of file IChronoSvc.h.

00054     { 
00055       USER = 0 , 
00056       KERNEL   , 
00057       ELAPSED  
00058     } ;

enum IInterface::Status [inherited]

Return status.

Enumerator:
SUCCESS  Normal successful completion.
NO_INTERFACE  Requested interface is not available.
VERSMISMATCH  Requested interface version is incompatible.
LAST_ERROR  Last error.

Reimplemented in IConversionSvc, IConverter, and IDataProviderSvc.

Definition at line 113 of file IInterface.h.

00113                 {
00115     SUCCESS = 1,
00117     NO_INTERFACE,
00119     VERSMISMATCH,
00121     LAST_ERROR
00122   };


Constructor & Destructor Documentation

virtual IChronoSvc::~IChronoSvc (  )  [protected, virtual]

protected and virtual destructor


Member Function Documentation

virtual ChronoEntity* IChronoSvc::chronoStart ( const ChronoTag t  )  [pure virtual]

start chrono, tagged by its name

Parameters:
t chrono tag (name)
Returns:
chrono object

virtual const ChronoEntity* IChronoSvc::chronoStop ( const ChronoTag t  )  [pure virtual]

stop chrono, tagged by its name

Parameters:
t chrono tag (name)
Returns:
status code

virtual ChronoTime IChronoSvc::chronoDelta ( const ChronoTag t,
ChronoType  f 
) [pure virtual]

return chrono delta time of last start/stop pair

Parameters:
t chrono tag (name)
f chtono type
Returns:
delta time

virtual void IChronoSvc::chronoPrint ( const ChronoTag t  )  [pure virtual]

prints (using message service) info about chrono, tagged by its name

Parameters:
t chrono tag (name)
Returns:
status code

virtual ChronoStatus IChronoSvc::chronoStatus ( const ChronoTag t  )  [pure virtual]

return the status of named chrono

Parameters:
t chrono tag (name)
Returns:
chrono status

virtual const ChronoEntity* IChronoSvc::chrono ( const ChronoTag t  )  const [pure virtual]

extract the chrono entity for the given tag (name)

Parameters:
t chrono tag(name)
Returns:
pointer to chrono entity

static const InterfaceID& IChronoSvc::interfaceID (  )  [static]

the unique interface identifier

Reimplemented from IInterface.

Reimplemented in IChronoStatSvc.

virtual StatusCode IInterface::queryInterface ( const InterfaceID riid,
void **  ppvInterface 
) [pure virtual, inherited]

Query interfaces of Interface.

Parameters:
riid ID of Interface to be retrieved
ppvInterface Pointer to Location for interface pointer

Implemented in Algorithm, AlgTool, Auditor, ConversionSvc, Converter, DataSvc, EventSelectorDataStream, MinimalEventLoopMgr, PropertyMgr, SelectStatement, and Service.

virtual unsigned long IInterface::addRef (  )  [pure virtual, inherited]

Increment the reference count of Interface instance.

Implemented in Algorithm, AlgTool, Auditor, Converter, EventSelectorDataStream, IFactory, PropertyMgr, SelectStatement, and Service.

virtual unsigned long IInterface::release (  )  [pure virtual, inherited]

Release Interface instance.

Implemented in Algorithm, AlgTool, Auditor, Converter, EventSelectorDataStream, IFactory, PropertyMgr, SelectStatement, and Service.


The documentation for this class was generated from the following file:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:57:08 2011 for GaudiKernel by doxygen 1.4.7