| The Gaudi Framework v29r0 (ff2e7097)

- 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 {
25 public:
27 DeclareInterfaceID( IAlgTool, 4, 0 );
28
30 virtual const std::string& type() const = 0;
31
35 virtual const IInterface* parent() const = 0;
36
37 // --- Methods from IStateful ---
40 virtual StatusCode configure() = 0;
41
44 virtual StatusCode initialize() = 0;
45
48 virtual StatusCode start() = 0;
49
52 virtual StatusCode stop() = 0;
53
56 virtual StatusCode finalize() = 0;
57
60 virtual StatusCode terminate() = 0;
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 #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:14
std::string
STL class.
INamedInterface.h
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:28
IInterface
Definition of the basic interface.
Definition: IInterface.h:277
gaudirun.type
type
Definition: gaudirun.py:133
IOTest.start
start
Definition: IOTest.py:99
IStateful.h
IAlgorithm
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition: IAlgorithm.h:28
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:110