IAlgTool.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_IALGTOOL_H
2 #define GAUDIKERNEL_IALGTOOL_H
3 
4 // Include files
7 #include <string>
8 
9 // Forward declarations
10 class IAlgorithm;
11 
23 class GAUDI_API IAlgTool: virtual public INamedInterface {
24 public:
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
def initialize()
Definition: AnalysisTest.py:12
DeclareInterfaceID(INamedInterface, 1, 0)
InterfaceID.
State
Allowed states for classes implementing the state machine (ApplicationMgr, Algorithm, Service, AlgTool).
Definition: StateMachine.h:12
STL class.
string type
Definition: gaudirun.py:151
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
Definition of the basic interface.
Definition: IInterface.h:234
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition: IAlgorithm.h:25
IInterface compliant class extending IInterface with the name() method.
The interface implemented by the AlgTool base class.
Definition: IAlgTool.h:23
#define GAUDI_API
Definition: Kernel.h:107
tuple start
Definition: IOTest.py:88