|
Gaudi Framework, version v23r2 |
| Home | Generated: Thu Jun 28 2012 |
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