| The Gaudi Framework v27r1

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

- File List
- File Members

ITimelineSvc.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_ITIMELINESVC_H
2 #define GAUDIKERNEL_ITIMELINESVC_H
3
4 #include "GaudiKernel/IService.h"
5
6 #include <string>
7
8 #ifndef __GCCXML__
9
10 #include <chrono>
11 typedef std::chrono::high_resolution_clock Clock;
12 typedef Clock::time_point time_point;
13
14 #else
15 typedef uint time_point;
16 #endif
17
18 struct TimelineEvent{
19 uint thread;
20 uint slot;
21 uint event;
22
23 std::string algorithm;
24
25 time_point start;
26 time_point end;
27 };
28
29 class GAUDI_API ITimelineSvc: virtual public IService {
30
31 public:
33 DeclareInterfaceID(ITimelineSvc,1,0);
34
35 virtual void registerTimelineEvent(const TimelineEvent & e) = 0;
36 virtual bool isEnabled() const = 0;
37
39 virtual ~ITimelineSvc() {}
40 };
41
42 #endif
TimelineEvent::algorithm
std::string algorithm
Definition: ITimelineSvc.h:23
TimelineEvent::event
uint event
Definition: ITimelineSvc.h:21
TimelineEvent::thread
uint thread
Definition: ITimelineSvc.h:19
TimelineEvent
Definition: ITimelineSvc.h:18
std::string
STL class.
TimelineEvent::end
time_point end
Definition: ITimelineSvc.h:26
std::chrono::high_resolution_clock
IService
General service interface definition.
Definition: IService.h:18
Clock
std::chrono::high_resolution_clock Clock
Definition: ITimelineSvc.h:11
ITimelineSvc
Definition: ITimelineSvc.h:29
IService.h
TimelineEvent::start
time_point start
Definition: ITimelineSvc.h:25
ITimelineSvc::~ITimelineSvc
virtual ~ITimelineSvc()
virtual destructor
Definition: ITimelineSvc.h:39
time_point
Clock::time_point time_point
Definition: ITimelineSvc.h:12
TimelineEvent::slot
uint slot
Definition: ITimelineSvc.h:20
IService::DeclareInterfaceID
DeclareInterfaceID(IService, 4, 0)
InterfaceID.
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:107