The Gaudi Framework
master (f31105fd)
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Typedefs
a
b
c
d
e
f
h
i
l
m
o
p
r
s
t
u
v
w
x
Enumerations
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
y
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Enumerations
a
c
d
e
f
i
l
m
n
o
p
q
r
s
t
v
Enumerator
a
b
c
d
e
f
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Properties
Related Functions
:
a
b
c
d
e
g
h
i
m
o
p
r
s
t
v
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
_
b
c
e
f
g
h
i
l
m
n
o
p
r
s
t
u
z
Variables
a
b
c
d
e
g
h
i
m
o
p
q
r
s
t
v
x
Typedefs
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
w
Enumerations
Enumerator
c
e
f
p
u
v
Macros
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
IAlgResourcePool.h
Go to the documentation of this file.
1
/***********************************************************************************\
2
* (c) Copyright 1998-2024 CERN for the benefit of the LHCb and ATLAS collaborations *
3
* *
4
* This software is distributed under the terms of the Apache version 2 licence, *
5
* copied verbatim in the file "LICENSE". *
6
* *
7
* In applying this licence, CERN does not waive the privileges and immunities *
8
* granted to it by virtue of its status as an Intergovernmental Organization *
9
* or submit itself to any jurisdiction. *
10
\***********************************************************************************/
11
#ifndef GAUDIKERNEL_IALGRESOURCEPOOL_H
12
#define GAUDIKERNEL_IALGRESOURCEPOOL_H
13
14
// Framework includes
15
#include <
GaudiKernel/IInterface.h
>
16
17
// C++ includes
18
#include <list>
19
#include <string_view>
20
21
// Forward class declaration
22
class
IAlgorithm
;
23
36
class
GAUDI_API
IAlgResourcePool
:
virtual
public
IInterface
{
37
public
:
39
DeclareInterfaceID
(
IAlgResourcePool
, 1, 0 );
40
42
virtual
StatusCode
acquireAlgorithm
( std::string_view
name
,
IAlgorithm
*& algo,
bool
blocking =
false
) = 0;
44
virtual
StatusCode
releaseAlgorithm
( std::string_view
name
,
IAlgorithm
*& algo ) = 0;
45
47
virtual
std::list<IAlgorithm*>
getFlatAlgList
() = 0;
48
50
virtual
std::list<IAlgorithm*>
getTopAlgList
() = 0;
51
53
virtual
StatusCode
acquireResource
( std::string_view
name
) = 0;
55
virtual
StatusCode
releaseResource
( std::string_view
name
) = 0;
56
};
57
58
#endif // GAUDIKERNEL_IALGRESOURCEPOOL_H
IAlgResourcePool
Definition:
IAlgResourcePool.h:36
std::list< IAlgorithm * >
IAlgResourcePool::getFlatAlgList
virtual std::list< IAlgorithm * > getFlatAlgList()=0
Get the flat list of algorithms.
IAlgResourcePool::DeclareInterfaceID
DeclareInterfaceID(IAlgResourcePool, 1, 0)
InterfaceID.
IAlgResourcePool::acquireResource
virtual StatusCode acquireResource(std::string_view name)=0
Acquire a certain resource.
StatusCode
Definition:
StatusCode.h:65
IInterface.h
IAlgorithm
Definition:
IAlgorithm.h:38
IAlgResourcePool::releaseAlgorithm
virtual StatusCode releaseAlgorithm(std::string_view name, IAlgorithm *&algo)=0
Release a certain algorithm.
IAlgResourcePool::acquireAlgorithm
virtual StatusCode acquireAlgorithm(std::string_view name, IAlgorithm *&algo, bool blocking=false)=0
Acquire a certain algorithm using its name.
IAlgResourcePool::releaseResource
virtual StatusCode releaseResource(std::string_view name)=0
Release a certrain resource.
ConditionsStallTest.name
name
Definition:
ConditionsStallTest.py:77
IInterface
Definition:
IInterface.h:239
IAlgResourcePool::getTopAlgList
virtual std::list< IAlgorithm * > getTopAlgList()=0
Get top list of algorithms.
GAUDI_API
#define GAUDI_API
Definition:
Kernel.h:81
GaudiKernel
include
GaudiKernel
IAlgResourcePool.h
Generated on Mon Apr 7 2025 16:26:22 for The Gaudi Framework by
1.8.18