| The Gaudi Framework v28r2-patches (bc4ad17a)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

IAlgTool.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_IALGTOOL_H
2 #define GAUDIKERNEL_IALGTOOL_H
3
4 // Include files
5 #include "GaudiKernel/INamedInterface.h"
6 #include "GaudiKernel/IStateful.h"
7 #include <string>
8
9 // Forward declarations
10 class IAlgorithm;
11
23 class GAUDI_API IAlgTool: virtual public INamedInterface {
24 public:
26 DeclareInterfaceID(IAlgTool,4,0);
27
29 virtual const std::string& type() const = 0;
30
34 virtual const IInterface* parent() const = 0;
35
36 // --- Methods from IStateful ---
39 virtual StatusCode configure() = 0;
40
43 virtual StatusCode initialize() = 0;
44
47 virtual StatusCode start() = 0;
48
51 virtual StatusCode stop() = 0;
52
55 virtual StatusCode finalize() = 0;
56
59 virtual StatusCode terminate() = 0;
60
61
64 virtual StatusCode reinitialize() = 0;
65
68 virtual StatusCode restart() = 0;
69
72 virtual Gaudi::StateMachine::State FSMState() const = 0;
73
78 virtual StatusCode sysInitialize() = 0;
79
84 virtual StatusCode sysStart() = 0;
85
90 virtual StatusCode sysStop() = 0;
91
96 virtual StatusCode sysFinalize() = 0;
97
102 virtual StatusCode sysReinitialize() = 0;
103
108 virtual StatusCode sysRestart() = 0;
109
110 };
111
112 #endif // GAUDIKERNEL_IALGTOOL_H
INamedInterface::DeclareInterfaceID
DeclareInterfaceID(INamedInterface, 1, 0)
InterfaceID.
Gaudi::StateMachine::State
State
Allowed states for classes implementing the state machine (ApplicationMgr, Algorithm, Service, AlgTool).
Definition: StateMachine.h:12
std::string
STL class.
INamedInterface.h
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
IInterface
Definition of the basic interface.
Definition: IInterface.h:234
gaudirun.type
type
Definition: gaudirun.py:125
IOTest.start
start
Definition: IOTest.py:88
IStateful.h
IAlgorithm
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition: IAlgorithm.h:27
INamedInterface
IInterface compliant class extending IInterface with the name() method.
Definition: INamedInterface.h:15
IAlgTool
The interface implemented by the AlgTool base class.
Definition: IAlgTool.h:23
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:107