All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
IAlgTool.h
Go to the documentation of this file.
1 // $Id: IAlgTool.h,v 1.7 2008/06/02 14:20:38 marcocle Exp $
2 #ifndef GAUDIKERNEL_IALGTOOL_H
3 #define GAUDIKERNEL_IALGTOOL_H
4 
5 // Include files
8 #include <string>
9 
10 // Forward declarations
11 class IAlgorithm;
12 
23 class GAUDI_API IAlgTool: virtual public INamedInterface {
24 public:
27 
29  virtual ~IAlgTool() { }
30 
32  virtual const std::string& type() const = 0;
33 
37  virtual const IInterface* parent() const = 0;
38 
39  // --- Methods from IStateful ---
42  virtual StatusCode configure() = 0;
43 
46  virtual StatusCode initialize() = 0;
47 
50  virtual StatusCode start() = 0;
51 
54  virtual StatusCode stop() = 0;
55 
58  virtual StatusCode finalize() = 0;
59 
62  virtual StatusCode terminate() = 0;
63 
64 
67  virtual StatusCode reinitialize() = 0;
68 
71  virtual StatusCode restart() = 0;
72 
75  virtual Gaudi::StateMachine::State FSMState() const = 0;
76 
81  virtual StatusCode sysInitialize() = 0;
82 
87  virtual StatusCode sysStart() = 0;
88 
93  virtual StatusCode sysStop() = 0;
94 
99  virtual StatusCode sysFinalize() = 0;
100 
105  virtual StatusCode sysReinitialize() = 0;
106 
111  virtual StatusCode sysRestart() = 0;
112 
116  virtual unsigned long refCount() const = 0;
117 };
118 
119 #endif // GAUDIKERNEL_IALGTOOL_H
DeclareInterfaceID(INamedInterface, 1, 0)
InterfaceID.
State
Allowed states for classes implementing the state machine (ApplicationMgr, Algorithm, Service, AlgTool).
Definition: StateMachine.h:12
string type
Definition: gaudirun.py:126
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
Definition of the basic interface.
Definition: IInterface.h:160
virtual unsigned long refCount() const =0
Current reference count.
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition: IAlgorithm.h:20
IInterface compliant class extending IInterface with the name() method.
The interface implemented by the AlgTool base class.
Definition: IAlgTool.h:23
virtual ~IAlgTool()
Virtual destructor.
Definition: IAlgTool.h:29
#define GAUDI_API
Definition: Kernel.h:108
tuple start
Definition: IOTest.py:88