The Gaudi Framework
v27r1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
IAlgorithm.h
Go to the documentation of this file.
1
#ifndef GAUDIKERNEL_IALGORITHM_H
2
#define GAUDIKERNEL_IALGORITHM_H
3
4
// Include files
5
#include "
GaudiKernel/INamedInterface.h
"
6
#include "
GaudiKernel/IStateful.h
"
7
#include <string>
8
9
class
IAlgTool
;
10
class
AlgResourcePool
;
11
namespace
Gaudi
{
12
class
StringKey;
13
}
14
25
class
GAUDI_API
IAlgorithm
:
virtual
public
extend_interfaces
<INamedInterface,
26
IStateful> {
27
public
:
28
29
friend
AlgResourcePool
;
30
32
DeclareInterfaceID
(
IAlgorithm
,5,0);
33
36
virtual
const
std::string
& version()
const
= 0;
37
40
virtual
const
std::string
&
type
()
const
= 0;
41
virtual
void
setType(
const
std::string
& ) = 0;
42
45
virtual
const
Gaudi::StringKey
& nameKey()
const
= 0;
46
49
virtual
unsigned
int
index()
const
= 0;
50
53
virtual
bool
isClonable()
const
= 0;
54
57
virtual
unsigned
int
cardinality
()
const
= 0;
58
61
virtual
const
std::vector<std::string>
& neededResources()
const
= 0;
62
66
virtual
StatusCode
execute
() = 0;
67
69
virtual
bool
isInitialized()
const
= 0;
71
virtual
bool
isFinalized()
const
= 0;
73
virtual
bool
isExecuted()
const
= 0;
74
80
virtual
StatusCode
sysInitialize() = 0;
81
87
virtual
StatusCode
sysStart() = 0;
88
94
virtual
StatusCode
sysReinitialize() = 0;
95
101
virtual
StatusCode
sysRestart() = 0;
102
104
virtual
StatusCode
sysExecute() = 0;
105
109
virtual
StatusCode
sysStop() = 0;
110
114
virtual
StatusCode
sysFinalize() = 0;
115
121
virtual
StatusCode
sysBeginRun( ) = 0;
122
128
virtual
StatusCode
sysEndRun( ) = 0;
129
131
virtual
void
resetExecuted( ) = 0;
132
135
virtual
StatusCode
beginRun() = 0;
138
virtual
StatusCode
endRun() = 0;
139
140
141
// ---- Function useful for dealing with sub-algorithms
143
virtual
void
setExecuted(
bool
state
) = 0;
144
146
virtual
bool
isEnabled( )
const
= 0;
147
149
virtual
bool
filterPassed( )
const
= 0;
150
152
virtual
void
setFilterPassed(
bool
state
) = 0;
153
154
protected
:
156
virtual
void
setIndex(
const
unsigned
int
& idx) = 0;
157
158
};
159
160
#endif // GAUDIKERNEL_IALGORITHM_H
AtomicAlgSequencerTest.cardinality
int cardinality
Definition:
AtomicAlgSequencerTest.py:13
compareRootHistos.state
tuple state
Definition:
compareRootHistos.py:348
AlgResourcePool
The AlgResourcePool is a concrete implementation of the IAlgResourcePool interface.
Definition:
AlgResourcePool.h:34
Gaudi::StringKey
The helper class to represent the efficient "key" for access.
Definition:
StringKey.h:35
std::string
STL class.
AnalysisTest.execute
def execute()
Definition:
AnalysisTest.py:25
INamedInterface.h
gaudirun.type
string type
Definition:
gaudirun.py:151
IAlgorithm::AlgResourcePool
friend AlgResourcePool
Definition:
IAlgorithm.h:29
StatusCode
This class is used for returning status codes from appropriate routines.
Definition:
StatusCode.h:26
extend_interfaces
Base class to be used to extend an interface.
Definition:
extend_interfaces.h:11
IStateful.h
IAlgorithm
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition:
IAlgorithm.h:25
DeclareInterfaceID
#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
std::vector< std::string >
IAlgTool
The interface implemented by the AlgTool base class.
Definition:
IAlgTool.h:23
GAUDI_API
#define GAUDI_API
Definition:
Kernel.h:107
Gaudi
Helper functions to set/get the application return code.
Definition:
__init__.py:1
GaudiKernel
GaudiKernel
IAlgorithm.h
Generated on Tue Mar 15 2016 17:04:17 for The Gaudi Framework by
1.8.9.1