| # 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
GaudiSequencer.h
Go to the documentation of this file.
1 // $Id: GaudiSequencer.h,v 1.5 2008/01/10 13:11:11 marcocle Exp $
2 #ifndef GAUDISEQUENCER_H
3 #define GAUDISEQUENCER_H 1
4
5 // Include files
6 // from Gaudi
7 #include "GaudiAlg/GaudiAlgorithm.h"
8
9 // Forward declarations
10 class ISequencerTimerTool;
11
27 class GAUDI_API GaudiSequencer: public GaudiAlgorithm {
28 public:
30 GaudiSequencer( const std::string& name, ISvcLocator* pSvcLocator );
31
32 virtual ~GaudiSequencer( );
33
34 virtual StatusCode initialize();
35 virtual StatusCode execute ();
36 virtual StatusCode finalize ();
37
38 virtual StatusCode beginRun ();
39 virtual StatusCode endRun ();
40
41 void resetExecuted();
42
44 void membershipHandler( Property& theProp );
45
46 protected:
47
48 class AlgorithmEntry {
49 public:
51 AlgorithmEntry( Algorithm* alg ) {
52 m_algorithm = alg;
53 m_reverse = false;
54 m_timer = 0;
55 }
56
57 virtual ~AlgorithmEntry( ) {};
58 void setReverse( bool flag ) { m_reverse = flag; }
59
60 Algorithm* algorithm() const { return m_algorithm; }
61 bool reverse() const { return m_reverse; }
62 void setTimer( int nb ) { m_timer = nb; }
63 int timer() const { return m_timer; }
64 private:
65 Algorithm* m_algorithm;
66 bool m_reverse;
67 int m_timer;
68 };
69
71 StatusCode decodeNames( );
72
73 private:
74
76 GaudiSequencer( const GaudiSequencer& a );
77
79 GaudiSequencer& operator=( const GaudiSequencer& a );
80
81 StringArrayProperty m_names;
82 std::vector<AlgorithmEntry> m_entries;
83 bool m_modeOR;
84 bool m_shortCircuit;
85
86
87 bool m_ignoreFilter;
88 bool m_isInitialized;
89 bool m_measureTime;
90 bool m_returnOK;
91 ISequencerTimerTool* m_timerTool;
92 int m_timer;
93 };
94 #endif // GAUDISEQUENCER_H