| # Gaudi Framework, version v20r3
Generated: 24 Nov 2008

# IAlgorithm.h

Go to the documentation of this file.

    00001 // $Id: IAlgorithm.h,v 1.12 2008/10/17 13:06:04 marcocle Exp $
    00002 #ifndef GAUDIKERNEL_IALGORITHM_H
    00003 #define GAUDIKERNEL_IALGORITHM_H
    00004
    00005 // Include files
    00006 #include "GaudiKernel/INamedInterface.h"
    00007 #include "GaudiKernel/StateMachine.h"
    00008 #include <string>
    00009
    00010 // Declaration of the interface ID ( interface id, major version, minor version)
    00011 static const InterfaceID IID_IAlgorithm("IAlgorithm", 3 , 2);
    00012
    00022 class IAlgorithm : virtual public INamedInterface {
    00023  public:
    00025   static const InterfaceID& interfaceID() { return IID_IAlgorithm; }
    00026
    00029   virtual const std::string& version() const = 0;
    00030
    00034   virtual StatusCode execute() = 0;
    00035
    00037   virtual bool isInitialized() const = 0;
    00039   virtual bool isFinalized() const = 0;
    00041   virtual bool isExecuted() const = 0;
    00042
    00043   // --- Methods from IStateful ---
    00046   virtual StatusCode configure() = 0;
    00047
    00050   virtual StatusCode initialize() = 0;
    00051
    00054   virtual StatusCode start() = 0;
    00055
    00058   virtual StatusCode stop() = 0;
    00059
    00062   virtual StatusCode finalize() = 0;
    00063
    00066   virtual StatusCode terminate() = 0;
    00067
    00070   virtual StatusCode reinitialize() = 0;
    00071
    00074   virtual StatusCode restart() = 0;
    00075
    00078   virtual Gaudi::StateMachine::State FSMState() const = 0;
    00079
    00085   virtual StatusCode sysInitialize() = 0;
    00086
    00092   virtual StatusCode sysStart() = 0;
    00093
    00099   virtual StatusCode sysReinitialize() = 0;
    00100
    00106   virtual StatusCode sysRestart() = 0;
    00107
    00109   virtual StatusCode sysExecute() = 0;
    00110
    00114   virtual StatusCode sysStop() = 0;
    00115
    00119   virtual StatusCode sysFinalize() = 0;
    00120
    00126   virtual StatusCode sysBeginRun( ) = 0;
    00127
    00133   virtual StatusCode sysEndRun( ) = 0;
    00134
    00136   virtual void resetExecuted( ) = 0;
    00137
    00140   virtual StatusCode beginRun() = 0;
    00143   virtual StatusCode endRun() = 0;
    00144
    00145
    00146   // ---- Function useful for dealing with sub-algorithms
    00148   virtual void setExecuted( bool state ) = 0;
    00149
    00151   virtual bool isEnabled( ) const = 0;
    00152
    00154   virtual bool filterPassed( ) const = 0;
    00155
    00157   virtual void setFilterPassed( bool state ) = 0;
    00158
    00159 };
    00160
    00161 #endif // GAUDIKERNEL_IALGORITHM_H