The Gaudi Framework  v29r0 (ff2e7097)
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>
12 
13 struct TimelineEvent {
14  pthread_t thread;
15  uint slot;
16  uint event;
17 
19 
22 };
23 
24 class GAUDI_API ITimelineSvc : virtual public IService
25 {
26 
27 public:
30 
31  virtual void registerTimelineEvent( const TimelineEvent& ) = 0;
32  // Augment a partially pre-filled TimelineEvent object with matching info
33  virtual void getTimelineEvent( TimelineEvent& ) const = 0;
34  virtual bool isEnabled() const = 0;
35 };
36 
37 #endif
pthread_t thread
Definition: ITimelineSvc.h:14
std::string algorithm
Definition: ITimelineSvc.h:18
STL class.
time_point end
Definition: ITimelineSvc.h:21
General service interface definition.
Definition: IService.h:18
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:13
std::chrono::high_resolution_clock Clock
Definition: ITimelineSvc.h:10
time_point start
Definition: ITimelineSvc.h:20
Clock::time_point time_point
Definition: ITimelineSvc.h:11
#define GAUDI_API
Definition: Kernel.h:110