| # Gaudi Framework, version v20r3
Generated: 24 Nov 2008

# IChronoSvc Class Reference

`#include <GaudiKernel/IChronoSvc.h>`

Inheritance diagram for IChronoSvc:

[legend]
Collaboration diagram for IChronoSvc:

[legend]

List of all members.

## 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.

## Public Types
enum | ChronoStatus { UNKNOWN = 0, RUNNING, STOPPED }
enum | ChronoType { USER = 0, KERNEL, ELAPSED }
typedef std::string | ChronoTag
| the actual type of identifier for Chrono objects
typedef double | ChronoTime
| Type of the delta-time.
## Public Member Functions
virtual ChronoEntity * | chronoStart (const ChronoTag &t)=0
| start chrono, tagged by its name
virtual const ChronoEntity * | chronoStop (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 ChronoEntity * | chrono (const ChronoTag &t) const =0
| extract the chrono entity for the given tag (name)
## Static Public Member Functions
static const InterfaceID & | interfaceID ()
| the unique interface identifier
## Protected Member Functions
virtual | ~IChronoSvc ()
| protected and virtual destructor

## 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     } ;

## Constructor & Destructor Documentation

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

protected and virtual destructor

Definition at line 28 of file IChronoStatSvc.cpp.

    00028 {}

## 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

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

the unique interface identifier

Reimplemented from IInterface.

Reimplemented in IChronoStatSvc.

Definition at line 20 of file IChronoStatSvc.cpp.

    00021 {
    00022   static const InterfaceID s_iid ( "IChronoSvc" , 2 , 0 ) ;
    00023   return s_iid ;
    00024 }

The documentation for this class was generated from the following files:

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v20r3/GaudiKernel/GaudiKernel/IChronoSvc.h
- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v20r3/GaudiKernel/src/Lib/IChronoStatSvc.cpp