| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Types | Public Member Functions | Protected Member Functions | List of all members
IChronoSvc Class Referenceabstract

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

`#include <GaudiKernel/IChronoSvc.h>`

Inheritance diagram for IChronoSvc:
[legend]
Collaboration diagram for IChronoSvc:
[legend]

## 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 Types inherited from IInterface
enum | Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR }
| Return status. More...
typedef Gaudi::InterfaceId < IInterface, 0, 0 > | iid
| Interface ID.
typedef mpl::set1< iid > | ext_iids
| Extra interfaces.

## Public Member Functions
| DeclareInterfaceID (IChronoSvc, 3, 0)
| InterfaceID.
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)
Public Member Functions inherited from IInterface
virtual void * | i_cast (const InterfaceID &) const =0
| main cast function
virtual std::vector< std::string > | getInterfaceNames () const =0
| Returns a vector of strings containing the names of all the implemented interfaces.
virtual unsigned long | addRef ()=0
| Increment the reference count of Interface instance.
virtual unsigned long | release ()=0
| Release Interface instance.
virtual unsigned long | refCount () const =0
| Current reference count.
virtual StatusCode | queryInterface (const InterfaceID &ti, void **pp)=0
| Set the void** to the pointer to the requested interface of the instance.
virtual | ~IInterface ()
| Virtual destructor.

## Protected Member Functions
virtual | ~IChronoSvc ()
| protected and virtual destructor

## Additional Inherited Members
Static Public Member Functions inherited from IInterface
static const InterfaceID & | interfaceID ()
| Return an instance of InterfaceID identifying the interface.

## 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 ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u (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 40 of file IChronoSvc.h.

typedef double IChronoSvc::ChronoTime

Type of the delta-time.

Definition at line 43 of file IChronoSvc.h.

## Member Enumeration Documentation

enum IChronoSvc::ChronoStatus

Enumerator:

  UNKNOWN |
  RUNNING |
  STOPPED |

Definition at line 48 of file IChronoSvc.h.

{
UNKNOWN = 0 ,
RUNNING ,
STOPPED
};

enum IChronoSvc::ChronoType

Enumerator:

  USER |
  KERNEL |
  ELAPSED |

Definition at line 55 of file IChronoSvc.h.

{
USER = 0 ,
KERNEL ,
ELAPSED
} ;

## Constructor & Destructor Documentation

IChronoSvc::~IChronoSvc | ( |  | ) |
| protected virtual

protected and virtual destructor

Definition at line 20 of file IChronoStatSvc.cpp.

{}

## Member Function Documentation

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

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 ChronoEntity* IChronoSvc::chronoStart | ( | const ChronoTag & | t | ) |
| pure virtual

start chrono, tagged by its name

Parameters

  t | chrono tag (name)

Returns
  chrono object

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::chronoStop | ( | const ChronoTag & | t | ) |
| pure virtual

stop chrono, tagged by its name

Parameters

  t | chrono tag (name)

Returns
  status code

IChronoSvc::DeclareInterfaceID | ( | IChronoSvc | ,
|  | 3 | ,
|  | 0 |
| ) |  |

InterfaceID.

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

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