| The Gaudi Framework v28r2p1 (f1a77ff4)

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

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

Public Member Functions | Private Member Functions | Private Attributes | List of all members
Chrono Class Reference

A small utility class for chronometry of user codes. More...

`#include <GaudiKernel/Chrono.h>`

Collaboration diagram for Chrono:
[legend]

## Public Member Functions
| Chrono (IChronoSvc *svc=nullptr, const std::string &tag="CHRONO::UNNAMED")
| Constructor from Chrono Service and the tag. More...
| Chrono (Chrono &&rhs)
| Move Constructor. More...
| Chrono (const std::string &tag, IChronoSvc *svc)
| Constructor from Chrono Service and the tag. More...
| Chrono (ChronoEntity *c)
| Constructor from Chrono Object/Entity. More...
| Chrono (ChronoEntity &c)
| Constructor from Chrono Object/Entity. More...
| ~Chrono ()
| Destructor , stop the chrono. More...

## Private Member Functions
| Chrono (const Chrono &)=delete
| delete the copy constructor and assignment operators More...
Chrono & | operator= (const Chrono &)=delete

## Private Attributes
ChronoEntity * | m_chrono = nullptr
| The actual chronometer. More...

## Detailed Description

A small utility class for chronometry of user codes.

See also
  ChronoEntity
  IChronoSvc

Author
  Vanya Belyaev

Date
  Nov 26, 1999

Definition at line 25 of file Chrono.h.

## Constructor & Destructor Documentation

Chrono::Chrono | ( | IChronoSvc * | svc = `nullptr`,
|  | const std::string & | tag = `"CHRONO::UNNAMED"`
| ) |  |
| inline

Constructor from Chrono Service and the tag.

IChronoSvc* svc = ... ;
{ // start the scope
Chrono chrono ( svc , "some unique tag here" ) ;
for ( long i = 0 ; i < 10000000 ; ++i )
{
.. put some CPU-intensive computations here
}
} // end of the scope, destroy chrono

Parameters

  svc | pointer to Chrono Service
  tag | the unique tag

Definition at line 51 of file Chrono.h.

53 { if ( svc ) { m_chrono = svc -> chronoStart ( tag ) ; } }
Chrono::m_chrono
ChronoEntity * m_chrono
The actual chronometer.
Definition: Chrono.h:146

Chrono::Chrono | ( | Chrono && | rhs | ) |
| inline

Move Constructor.

Definition at line 59 of file Chrono.h.

60 { m_chrono = rhs.m_chrono; rhs.m_chrono = nullptr; }
Chrono::m_chrono
ChronoEntity * m_chrono
The actual chronometer.
Definition: Chrono.h:146

Chrono::Chrono | ( | const std::string & | tag,
|  | IChronoSvc * | svc
| ) |  |
| inline

Constructor from Chrono Service and the tag.

IChronoSvc* svc = ... ;
{ // start the scope
Chrono chrono ( "some unique tag here" , svc ) ;
for ( long i = 0 ; i < 10000000 ; ++i )
{
.. put some CPU-intensive computations here
}
} // end of the scope, destroy chrono

Parameters

  tag | the unique tag
  svc | pointer to Chrono Service

Definition at line 85 of file Chrono.h.

87 { if ( svc ) { m_chrono = svc -> chronoStart ( tag ) ; } }
Chrono::m_chrono
ChronoEntity * m_chrono
The actual chronometer.
Definition: Chrono.h:146

Chrono::Chrono | ( | ChronoEntity * | c | ) |
| inline

Constructor from Chrono Object/Entity.

ChronoEntity* chronometer = ... ;
{ // start the scope
Chrono chrono ( chronometer ) ;
for ( long i = 0 ; i < 10000000 ; ++i )
{
.. put some CPU-intensive computations here
}
} // end of the scope, destroy chrono

Parameters

  c | the pointer to Chrono Object/Entity

Definition at line 109 of file Chrono.h.

109 : m_chrono ( c )
110 { if ( m_chrono ) { m_chrono -> start () ; } }
IOTest.start
start
Definition: IOTest.py:88
Chrono::m_chrono
ChronoEntity * m_chrono
The actual chronometer.
Definition: Chrono.h:146

Chrono::Chrono | ( | ChronoEntity & | c | ) |
| inline

Constructor from Chrono Object/Entity.

ChronoEntity m_chrono = ... ;
{ // start the scope
Chrono chrono ( m_chrono ) ;
for ( long i = 0 ; i < 10000000 ; ++i )
{
.. put some CPU-intensive computations here
}
} // end of the scope, destroy chrono

Parameters

  c | the reference to Chrono Object/Entity

Definition at line 132 of file Chrono.h.

132 : m_chrono ( &c ) { m_chrono -> start () ; }
IOTest.start
start
Definition: IOTest.py:88
Chrono::m_chrono
ChronoEntity * m_chrono
The actual chronometer.
Definition: Chrono.h:146

Chrono::~Chrono | ( |  | ) |
| inline

Destructor , stop the chrono.

Definition at line 135 of file Chrono.h.

135 { if ( m_chrono ) { m_chrono->stop() ; } }
Chrono::m_chrono
ChronoEntity * m_chrono
The actual chronometer.
Definition: Chrono.h:146
ChronoEntity::stop
IChronoSvc::ChronoStatus stop()
stop the chrono
Definition: ChronoEntity.cpp:63

Chrono::Chrono | ( | const Chrono & |  | ) |
| private delete

delete the copy constructor and assignment operators

## Member Function Documentation

Chrono& Chrono::operator= | ( | const Chrono & |  | ) |
| private delete

## Member Data Documentation

ChronoEntity* Chrono::m_chrono = nullptr
| private

The actual chronometer.

Definition at line 146 of file Chrono.h.

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

- GaudiKernel/GaudiKernel/Chrono.h