Report problems to ATLAS LXR Team (with time and IP address indicated)

The LXR Cross Referencer

source navigation ]
diff markup ]
identifier search ]
general search ]
 
 
Architecture: linux ]
Version: head ] [ nightly ] [ GaudiDev ]
  Links to LXR source navigation pages for stable releases [ 12.*.* ]   [ 13.*.* ]   [ 14.*.* ]   [ 15.*.* ] 

001 // $Id: GaudiSequencer.h,v 1.5 2008/01/10 13:11:11 marcocle Exp $
002 #ifndef GAUDISEQUENCER_H
003 #define GAUDISEQUENCER_H 1
004 
005 // Include files
006 // from Gaudi
007 #include "GaudiAlg/GaudiAlgorithm.h"
008 
009 // Forward declarations
010 class ISequencerTimerTool;
011 
012 /** @class GaudiSequencer GaudiSequencer.h
013  *  Sequencer for executing several algorithms, stopping when one is faulty.
014  *
015  *  @author Olivier Callot
016  *  @date   2004-05-13
017  */
018 class GaudiSequencer : public GaudiAlgorithm {
019 public:
020   /// Standard constructor
021   GaudiSequencer( const std::string& name, ISvcLocator* pSvcLocator );
022 
023   virtual ~GaudiSequencer( ); ///< Destructor
024 
025   virtual StatusCode initialize();    ///< Algorithm initialization
026   virtual StatusCode execute   ();    ///< Algorithm execution
027   virtual StatusCode finalize  ();    ///< Algorithm finalization
028 
029   virtual StatusCode beginRun  ();    ///< Algorithm beginRun
030   virtual StatusCode endRun    ();    ///< Algorithm endRun
031 
032   void resetExecuted();         ///< Called before an event processing
033 
034   /** for asynchronous changes in the list of algorithms */
035   void membershipHandler( Property& theProp );
036 
037 protected:
038 
039   class AlgorithmEntry {
040   public:
041     /// Standard constructor
042     AlgorithmEntry( Algorithm* alg ) {
043       m_algorithm = alg;
044       m_reverse = false;
045       m_timer = 0;
046     }
047 
048     virtual ~AlgorithmEntry( ) {}; ///< Destructor
049     void setReverse( bool flag )            { m_reverse   = flag; }
050 
051     Algorithm* algorithm()        const  { return m_algorithm; }
052     bool       reverse()          const  { return m_reverse;   }
053     void       setTimer( int nb )        { m_timer = nb;       }
054     int        timer()            const  { return m_timer;     }
055   private:
056     Algorithm*  m_algorithm;   ///< Algorithm pointer
057     bool        m_reverse;     ///< Indicates that the flag has to be inverted
058     int         m_timer;       ///< Timer number fo rthis algorithm
059   };
060 
061   /** Decode a vector of string. */
062   StatusCode decodeNames(  );
063 
064 private:
065 
066   /** Private copy, copy not allowed **/
067   GaudiSequencer( const GaudiSequencer& a );
068 
069   /** Private  assignment operator: This is not allowed **/
070   GaudiSequencer& operator=( const GaudiSequencer& a );
071 
072   StringArrayProperty   m_names;         ///< Input string, list of algorithms
073   std::vector<AlgorithmEntry> m_entries; ///< List of algorithms to process.
074   bool m_modeOR;                         ///< Indicates that the OR is wanted instead of AND
075   bool m_shortCircuit;                   ///< Indicates whether to stop processing as soon as possible,
076                                          ///     or to always execute _all_ subalgorithms
077   bool m_ignoreFilter;                   ///< True if one continues always.
078   bool m_isInitialized;                  ///< Indicate that we are ready
079   bool m_measureTime;                    ///< Flag to measure time
080   bool m_returnOK;                       ///< Forces the sequencer to return a good status
081   ISequencerTimerTool* m_timerTool;      ///< Pointer to the timer tool
082   int  m_timer;                          ///< Timer number for the sequencer
083 };
084 #endif // GAUDISEQUENCER_H
085 

source navigation ] diff markup ] identifier search ] general search ]

Due to the LXR bug, the updates fail sometimes to remove references to deleted files. The Saturday's full rebuilds fix these problems
This page was automatically generated by the LXR engine. Valid HTML 4.01!