| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

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

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
SequencerTimerTool.h
Go to the documentation of this file.
1 // $Id: SequencerTimerTool.h,v 1.7 2005/07/29 16:49:43 hmd Exp $
2 #ifndef SEQUENCERTIMERTOOL_H
3 #define SEQUENCERTIMERTOOL_H 1
4
5 // Include files
6 // from Gaudi
7 #include "GaudiAlg/GaudiHistoTool.h"
8 #include "GaudiAlg/ISequencerTimerTool.h"
9
10 // local
11 #include "TimerForSequencer.h"
12
13
27 class SequencerTimerTool : public GaudiHistoTool,
28 virtual public ISequencerTimerTool
29 {
30
31 public:
32
33 using ISequencerTimerTool::start;
34 using ISequencerTimerTool::stop;
35 using ISequencerTimerTool::name;
36
37 public:
38
40 SequencerTimerTool( const std::string& type,
41 const std::string& name,
42 const IInterface* parent);
43
44 virtual ~SequencerTimerTool( );
45
47 virtual StatusCode initialize();
48
50 virtual StatusCode finalize();
51
53 virtual int addTimer( const std::string& name );
54
56 virtual void increaseIndent() { m_indent += 2; }
57
59 virtual void decreaseIndent()
60 {
61 m_indent -= 2;
62 if ( 0 > m_indent ) m_indent = 0;
63 }
64
66 void start( int index ) { m_timerList[index].start(); }
67
69 double stop( int index ) { return m_timerList[index].stop(); }
70
72 double lastTime( int index ) { return m_timerList[index].lastTime(); }
73
75 const std::string& name( int index ) { return m_timerList[index].name(); }
76
78 int indexByName( const std::string& name );
79
81 virtual bool globalTiming() { return m_globalTiming; };
82
84 virtual void saveHistograms();
85
86 private:
87
88 int m_shots;
89 bool m_normalised;
90 int m_indent;
91 std::vector<TimerForSequencer> m_timerList;
92 double m_normFactor;
93 double m_speedRatio;
94 bool m_globalTiming;
95 std::string::size_type m_headerSize;
96
97 };
98 #endif // SEQUENCERTIMERTOOL_H