| # Gaudi Framework, version v21r6 |

Home |  | Generated: 11 Nov 2009

# 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
    00023 class GAUDI_API IAlgTool: virtual public INamedInterface {
    00024 public:
    00026   DeclareInterfaceID(IAlgTool,3,0);
    00027
    00029   virtual ~IAlgTool() { }
    00030
    00032   virtual const std::string&  type() const = 0;
    00033
    00037   virtual const IInterface*   parent() const = 0;
    00038
    00039   // --- Methods from IStateful ---
    00042   virtual StatusCode configure() = 0;
    00043
    00046   virtual StatusCode initialize() = 0;
    00047
    00050   virtual StatusCode start() = 0;
    00051
    00054   virtual StatusCode stop() = 0;
    00055
    00058   virtual StatusCode finalize() = 0;
    00059
    00062   virtual StatusCode terminate() = 0;
    00063
    00064
    00067   virtual StatusCode reinitialize() = 0;
    00068
    00071   virtual StatusCode restart() = 0;
    00072
    00075   virtual Gaudi::StateMachine::State FSMState() const = 0;
    00076
    00081   virtual StatusCode sysInitialize() = 0;
    00082
    00087   virtual StatusCode sysStart() = 0;
    00088
    00093   virtual StatusCode sysStop() = 0;
    00094
    00099   virtual StatusCode sysFinalize() = 0;
    00100
    00105   virtual StatusCode sysReinitialize() = 0;
    00106
    00111   virtual StatusCode sysRestart() = 0;
    00112
    00116   virtual unsigned long refCount() const = 0;
    00117 };
    00118
    00119 #endif  // GAUDIKERNEL_IALGTOOL_H