| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

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

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
IAlgTool.h
Go to the documentation of this file.
1 // $Id: IAlgTool.h,v 1.7 2008/06/02 14:20:38 marcocle Exp $
2 #ifndef GAUDIKERNEL_IALGTOOL_H
3 #define GAUDIKERNEL_IALGTOOL_H
4
5 // Include files
6 #include "GaudiKernel/INamedInterface.h"
7 #include "GaudiKernel/StateMachine.h"
8 #include <string>
9
10 // Forward declarations
11 class IAlgorithm;
12
23 class GAUDI_API IAlgTool: virtual public INamedInterface {
24 public:
26 DeclareInterfaceID(IAlgTool,3,0);
27
29 virtual ~IAlgTool() { }
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
116 virtual unsigned long refCount() const = 0;
117 };
118
119 #endif // GAUDIKERNEL_IALGTOOL_H