| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

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
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:56:57 2011 for GaudiKernel by doxygen 1.4.7