Gaudi Framework, version v24r2
Home
Generated: Wed Dec 4 2013
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
GaudiKernel
GaudiKernel
IChronoSvc.h
Go to the documentation of this file.
1
// $Id: IChronoSvc.h,v 1.3 2008/05/13 12:36:54 marcocle Exp $
2
// ============================================================================
3
#ifndef GAUDIKERNEL_ICHRONOSVC_H
4
#define GAUDIKERNEL_ICHRONOSVC_H 1
5
// ============================================================================
6
// Include files
7
// ============================================================================
8
// STD&STL
9
// ============================================================================
10
#include <
string
>
11
// ============================================================================
12
// GaudiKernel
13
// ============================================================================
14
#include "
GaudiKernel/IInterface.h
"
15
// ============================================================================
16
// forward declaration
17
// ============================================================================
18
class
ChronoEntity
;
19
// ============================================================================
33
class
GAUDI_API
IChronoSvc
:
virtual
public
IInterface
34
{
35
public
:
37
DeclareInterfaceID
(
IChronoSvc
,3,0);
38
// ==========================================================================
40
typedef
std::string
ChronoTag
;
42
//typedef longlong ChronoTime ;
43
typedef
double
ChronoTime
;
44
// ==========================================================================
45
public
:
46
// ==========================================================================
47
// status of Chrono objects
48
enum
ChronoStatus
49
{
50
UNKNOWN
= 0 ,
51
RUNNING
,
52
STOPPED
53
};
54
// types of Chrono objects
55
enum
ChronoType
56
{
57
USER = 0 ,
58
KERNEL
,
59
ELAPSED
60
} ;
61
// ==========================================================================
62
public
:
63
// ==========================================================================
68
virtual
ChronoEntity
* chronoStart (
const
ChronoTag& t ) = 0;
69
// ==========================================================================
74
virtual
const
ChronoEntity
* chronoStop (
const
ChronoTag& t ) = 0;
75
// ==========================================================================
81
virtual
ChronoTime chronoDelta (
const
ChronoTag& t , ChronoType f ) = 0 ;
82
// ==========================================================================
87
virtual
void
chronoPrint (
const
ChronoTag& t ) = 0;
88
// ==========================================================================
93
virtual
ChronoStatus chronoStatus (
const
ChronoTag& t ) = 0;
94
// ==========================================================================
99
virtual
const
ChronoEntity
* chrono (
const
ChronoTag& t )
const
= 0 ;
100
// ==========================================================================
101
protected
:
102
// ==========================================================================
103
// protected and virtual destructor
104
virtual
~
IChronoSvc
();
105
// ==========================================================================
106
};
107
// ============================================================================
108
// The END
109
// ============================================================================
110
#endif // GAUDIKERNEL_ICHRONOSVC_H
111
// ============================================================================
Generated at Wed Dec 4 2013 14:33:08 for Gaudi Framework, version v24r2 by
Doxygen
version 1.8.2 written by
Dimitri van Heesch
, © 1997-2004