| # Gaudi Framework, version v21r8 |

Home |  | Generated: 17 Mar 2010

# 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
    00020 class GAUDI_API IAlgorithm : virtual public INamedInterface {
    00021 public:
    00023   DeclareInterfaceID(IAlgorithm,4,0);
    00024
    00027   virtual const std::string& version() const = 0;
    00028
    00032   virtual StatusCode execute() = 0;
    00033
    00035   virtual bool isInitialized() const = 0;
    00037   virtual bool isFinalized() const = 0;
    00039   virtual bool isExecuted() const = 0;
    00040
    00041   // --- Methods from IStateful ---
    00044   virtual StatusCode configure() = 0;
    00045
    00048   virtual StatusCode initialize() = 0;
    00049
    00052   virtual StatusCode start() = 0;
    00053
    00056   virtual StatusCode stop() = 0;
    00057
    00060   virtual StatusCode finalize() = 0;
    00061
    00064   virtual StatusCode terminate() = 0;
    00065
    00068   virtual StatusCode reinitialize() = 0;
    00069
    00072   virtual StatusCode restart() = 0;
    00073
    00076   virtual Gaudi::StateMachine::State FSMState() const = 0;
    00077
    00083   virtual StatusCode sysInitialize() = 0;
    00084
    00090   virtual StatusCode sysStart() = 0;
    00091
    00097   virtual StatusCode sysReinitialize() = 0;
    00098
    00104   virtual StatusCode sysRestart() = 0;
    00105
    00107   virtual StatusCode sysExecute() = 0;
    00108
    00112   virtual StatusCode sysStop() = 0;
    00113
    00117   virtual StatusCode sysFinalize() = 0;
    00118
    00124   virtual StatusCode sysBeginRun( ) = 0;
    00125
    00131   virtual StatusCode sysEndRun( ) = 0;
    00132
    00134   virtual void resetExecuted( ) = 0;
    00135
    00138   virtual StatusCode beginRun() = 0;
    00141   virtual StatusCode endRun() = 0;
    00142
    00143
    00144   // ---- Function useful for dealing with sub-algorithms
    00146   virtual void setExecuted( bool state ) = 0;
    00147
    00149   virtual bool isEnabled( ) const = 0;
    00150
    00152   virtual bool filterPassed( ) const = 0;
    00153
    00155   virtual void setFilterPassed( bool state ) = 0;
    00156
    00157 };
    00158
    00159 #endif // GAUDIKERNEL_IALGORITHM_H