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 
22 class GAUDI_API IAlgTool: virtual public extend_interfaces2<INamedInterface,IStateful> {
23 public:
26 
28  ~IAlgTool() override = default;
29 
31  virtual const std::string& type() const = 0;
32 
36  virtual const IInterface* parent() const = 0;
37 
42  virtual StatusCode sysInitialize() = 0;
43 
48  virtual StatusCode sysStart() = 0;
49 
54  virtual StatusCode sysStop() = 0;
55 
60  virtual StatusCode sysFinalize() = 0;
61 
66  virtual StatusCode sysReinitialize() = 0;
67 
72  virtual StatusCode sysRestart() = 0;
73 
74 };
75 
76 #endif // GAUDIKERNEL_IALGTOOL_H
#define GAUDI_API
Definition: Kernel.h:107
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:14
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
Base class to be used to extend an interface.
Definition of the basic interface.
Definition: IInterface.h:234
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition: IAlgorithm.h:19
The interface implemented by the AlgTool base class.
Definition: IAlgTool.h:22
string type
Definition: gaudirun.py:151