| The Gaudi Framework v27r1

- 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 ~IAlgTool() override = default;
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
113 };
114
115 #endif // GAUDIKERNEL_IALGTOOL_H
AnalysisTest.initialize
def initialize()
Definition: AnalysisTest.py:12
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
gaudirun.type
string type
Definition: gaudirun.py:151
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
IStateful.h
IAlgorithm
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition: IAlgorithm.h:25
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
IOTest.start
tuple start
Definition: IOTest.py:88