| The Gaudi Framework v28r2-patches (bc4ad17a)

- 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 <pthread.h>
7 #include <string>
8
9 #include <chrono>
10 typedef std::chrono::high_resolution_clock Clock;
11 typedef Clock::time_point time_point;
12
13 struct TimelineEvent{
14 pthread_t thread;
15 uint slot;
16 uint event;
17
18 std::string algorithm;
19
20 time_point start;
21 time_point end;
22 };
23
24 class GAUDI_API ITimelineSvc: virtual public IService {
25
26 public:
28 DeclareInterfaceID(ITimelineSvc,1,0);
29
30 virtual void registerTimelineEvent(const TimelineEvent & e) = 0;
31 virtual bool isEnabled() const = 0;
32
33 };
34
35 #endif
TimelineEvent::thread
pthread_t thread
Definition: ITimelineSvc.h:14
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
TimelineEvent::algorithm
std::string algorithm
Definition: ITimelineSvc.h:18
TimelineEvent::event
uint event
Definition: ITimelineSvc.h:16
TimelineEvent
Definition: ITimelineSvc.h:13
std::string
STL class.
TimelineEvent::end
time_point end
Definition: ITimelineSvc.h:21
std::chrono::high_resolution_clock
IService
General service interface definition.
Definition: IService.h:18
Clock
std::chrono::high_resolution_clock Clock
Definition: ITimelineSvc.h:10
ITimelineSvc
Definition: ITimelineSvc.h:24
IService.h
TimelineEvent::start
time_point start
Definition: ITimelineSvc.h:20
time_point
Clock::time_point time_point
Definition: ITimelineSvc.h:11
TimelineEvent::slot
uint slot
Definition: ITimelineSvc.h:15
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:107