ISequencerTimerTool.h
Go to the documentation of this file.
1 #ifndef ISEQUENCERTIMERTOOL_H
2 #define ISEQUENCERTIMERTOOL_H 1
3 
4 // from Gaudi
5 #include "GaudiKernel/IAlgTool.h"
6 
14 class GAUDI_API ISequencerTimerTool: public virtual IAlgTool
15 {
16 
17 public:
18 
19  using IAlgTool::start;
20  using IAlgTool::stop;
21  using IAlgTool::name;
22 
23 public:
24 
27 
29  virtual int addTimer( const std::string& name ) = 0 ;
30 
32  virtual void increaseIndent() = 0 ;
33 
35  virtual void decreaseIndent() = 0;
36 
38  virtual void start( int index ) = 0;
39 
41  virtual double stop( int index ) = 0;
42 
44  virtual const std::string& name( int index ) = 0;
45 
47  virtual double lastTime( int index ) = 0;
48 
50  virtual int indexByName( const std::string& name ) = 0;
51 
53  virtual bool globalTiming() = 0;
54 
56  virtual void saveHistograms() = 0;
57 
59  ~ISequencerTimerTool() override = default;
60 
61 };
62 
63 #endif // ISEQUENCERTIMERTOOL_H
virtual StatusCode start()=0
Start (from INITIALIZED to RUNNING).
DeclareInterfaceID(IAlgTool, 4, 0)
InterfaceID.
STL class.
virtual StatusCode stop()=0
Stop (from RUNNING to INITIALIZED).
The interface implemented by the AlgTool base class.
Definition: IAlgTool.h:23
Implements the time measurement inside a sequencer.
#define GAUDI_API
Definition: Kernel.h:107
virtual const std::string & name() const =0
Retrieve the name of the instance.