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

# IAlgTool.h

Go to the documentation of this file.

    00001 // $Id: IAlgTool.h,v 1.7 2008/06/02 14:20:38 marcocle Exp $
    00002 #ifndef GAUDIKERNEL_IALGTOOL_H
    00003 #define GAUDIKERNEL_IALGTOOL_H
    00004
    00005 // Include files
    00006 #include "GaudiKernel/INamedInterface.h"
    00007 #include "GaudiKernel/StateMachine.h"
    00008 #include <string>
    00009
    00010 // Forward declarations
    00011 class IAlgorithm;
    00012
    00013 // Declaration of the interface ID ( interface id, major version, minor version)
    00014 static const InterfaceID IID_IAlgTool("IAlgTool", 2 , 1);
    00015
    00026 class IAlgTool : virtual public INamedInterface {
    00027 public:
    00028
    00030   static const InterfaceID& interfaceID() { return IID_IAlgTool; }
    00031
    00033   virtual const std::string&  type() const = 0;
    00034
    00038   virtual const IInterface*   parent() const = 0;
    00039
    00040   // --- Methods from IStateful ---
    00043   virtual StatusCode configure() = 0;
    00044
    00047   virtual StatusCode initialize() = 0;
    00048
    00051   virtual StatusCode start() = 0;
    00052
    00055   virtual StatusCode stop() = 0;
    00056
    00059   virtual StatusCode finalize() = 0;
    00060
    00063   virtual StatusCode terminate() = 0;
    00064
    00065
    00068   virtual StatusCode reinitialize() = 0;
    00069
    00072   virtual StatusCode restart() = 0;
    00073
    00076   virtual Gaudi::StateMachine::State FSMState() const = 0;
    00077
    00082   virtual StatusCode sysInitialize() = 0;
    00083
    00088   virtual StatusCode sysStart() = 0;
    00089
    00094   virtual StatusCode sysStop() = 0;
    00095
    00100   virtual StatusCode sysFinalize() = 0;
    00101
    00106   virtual StatusCode sysReinitialize() = 0;
    00107
    00112   virtual StatusCode sysRestart() = 0;
    00113
    00117   virtual unsigned long refCount() const = 0;
    00118 };
    00119
    00120 #endif  // GAUDIKERNEL_IALGTOOL_H