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
8 
9 // Forward declarations
11 
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 
49  public:
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:
66  bool m_reverse;
67  int m_timer;
68  };
69 
71  StatusCode decodeNames( );
72 
73 private:
74 
76  GaudiSequencer( const GaudiSequencer& a );
77 
80 
82  std::vector<AlgorithmEntry> m_entries;
83  bool m_modeOR;
85  bool m_ignoreFilter;
90  bool m_returnOK;
92  int m_timer;
93 };
94 #endif // GAUDISEQUENCER_H
bool m_shortCircuit
Indicates whether to stop processing as soon as possible, or to always execute all subalgorithms...
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition: ISvcLocator.h:26
bool m_returnOK
Forces the sequencer to return a good status.
bool m_modeOR
Indicates that the OR is wanted instead of AND.
Sequencer for executing several algorithms, stopping when one is faulty.
virtual StatusCode initialize()
standard initialization method
virtual ~AlgorithmEntry()
void setReverse(bool flag)
Destructor.
Algorithm * m_algorithm
Algorithm pointer.
Algorithm * algorithm() const
virtual StatusCode beginRun()
Algorithm begin run.
Definition: Algorithm.cpp:497
virtual StatusCode endRun()
Algorithm end run. This method is called at the end of the event loop.
Definition: Algorithm.cpp:573
virtual StatusCode finalize()
standard finalization method
ISequencerTimerTool * m_timerTool
Pointer to the timer tool.
virtual void resetExecuted()
Reset the executed state of the Algorithm for the duration of the current event.
Definition: Algorithm.cpp:853
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
bool m_reverse
Indicates that the flag has to be inverted.
bool m_measureTime
Flag to measure time.
The useful base class for data processing algorithms.
virtual StatusCode execute()
standard execution method
bool m_isInitialized
Indicate that we are ready.
Base class from which all concrete algorithm classes should be derived.
Definition: Algorithm.h:61
Property base class allowing Property* collections to be "homogeneous".
Definition: Property.h:43
Implements the time measurement inside a sequencer.
AlgorithmEntry(Algorithm *alg)
Standard constructor.
int timer() const
bool reverse() const
#define GAUDI_API
Definition: Kernel.h:108
void setTimer(int nb)
int m_timer
Timer number fo rthis algorithm.
int m_timer
Timer number for the sequencer.
GaudiAlgorithm & operator=(const GaudiAlgorithm &)
no public assignment
std::vector< AlgorithmEntry > m_entries
List of algorithms to process.
StringArrayProperty m_names
Input string, list of algorithms.