The Gaudi Framework
v28r1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
IChronoSvc.h
Go to the documentation of this file.
1
#ifndef GAUDIKERNEL_ICHRONOSVC_H
2
#define GAUDIKERNEL_ICHRONOSVC_H 1
3
// ============================================================================
4
// Include files
5
// ============================================================================
6
// STD&STL
7
// ============================================================================
8
#include <string>
9
// ============================================================================
10
// GaudiKernel
11
// ============================================================================
12
#include "
GaudiKernel/IInterface.h
"
13
// ============================================================================
14
// forward declaration
15
// ============================================================================
16
class
ChronoEntity
;
17
// ============================================================================
31
class
GAUDI_API
IChronoSvc
:
virtual
public
IInterface
32
{
33
public
:
35
DeclareInterfaceID
(
IChronoSvc
,3,0);
36
// ==========================================================================
38
typedef
std::string
ChronoTag
;
40
//typedef longlong ChronoTime ;
41
typedef
double
ChronoTime
;
42
// ==========================================================================
43
public
:
44
// ==========================================================================
45
// status of Chrono objects
46
enum
ChronoStatus
47
{
48
UNKNOWN
= 0 ,
49
RUNNING
,
50
STOPPED
51
};
52
// types of Chrono objects
53
enum
ChronoType
54
{
55
USER = 0 ,
56
KERNEL
,
57
ELAPSED
58
} ;
59
// ==========================================================================
60
public
:
61
// ==========================================================================
66
virtual
ChronoEntity
* chronoStart (
const
ChronoTag& t ) = 0;
67
// ==========================================================================
72
virtual
const
ChronoEntity
* chronoStop (
const
ChronoTag& t ) = 0;
73
// ==========================================================================
79
virtual
ChronoTime chronoDelta (
const
ChronoTag& t ,
ChronoType
f ) = 0 ;
80
// ==========================================================================
85
virtual
void
chronoPrint (
const
ChronoTag& t ) = 0;
86
// ==========================================================================
91
virtual
ChronoStatus
chronoStatus (
const
ChronoTag& t ) = 0;
92
// ==========================================================================
97
virtual
const
ChronoEntity
* chrono (
const
ChronoTag& t )
const
= 0 ;
98
// ==========================================================================
99
};
100
// ============================================================================
101
// The END
102
// ============================================================================
103
#endif // GAUDIKERNEL_ICHRONOSVC_H
104
// ============================================================================
ChronoEntity
a small helper class for implementation of ChronoStatSvc service, It also could be used as some local...
Definition:
ChronoEntity.h:21
DeclareInterfaceID
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition:
IInterface.h:14
IChronoSvc::ChronoStatus
ChronoStatus
Definition:
IChronoSvc.h:46
IChronoSvc::KERNEL
Definition:
IChronoSvc.h:56
std::string
STL class.
IChronoSvc::ChronoTag
std::string ChronoTag
the actual type of identifier for Chrono objects
Definition:
IChronoSvc.h:38
IInterface
Definition of the basic interface.
Definition:
IInterface.h:234
IChronoSvc::ChronoTime
double ChronoTime
Type of the delta-time.
Definition:
IChronoSvc.h:41
IChronoSvc::ChronoType
ChronoType
Definition:
IChronoSvc.h:53
Io::UNKNOWN
Definition:
IFileMgr.h:151
IChronoSvc::RUNNING
Definition:
IChronoSvc.h:49
GAUDI_API
#define GAUDI_API
Definition:
Kernel.h:107
IInterface.h
IChronoSvc
"Chrono"-related part of interface IChronoStatSvc
Definition:
IChronoSvc.h:31
GaudiKernel
GaudiKernel
IChronoSvc.h
Generated on Tue Feb 14 2017 13:19:50 for The Gaudi Framework by
1.8.11