The Gaudi Framework
v30r3 (a5ef0a68)
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
GetAlg.cpp
Go to the documentation of this file.
1
// ============================================================================
2
// Include files
3
// ============================================================================
4
#include <algorithm>
5
// ============================================================================
6
// GaudiKernel
7
// ============================================================================
8
#include "
GaudiKernel/IAlgContextSvc.h
"
9
#include "
GaudiKernel/IAlgorithm.h
"
10
// ============================================================================
11
// GaudiAlg
12
// ============================================================================
13
#include "
GaudiAlg/GetAlg.h
"
14
// ============================================================================
21
// ============================================================================
22
// simple function to get the algorithm from Context Service
23
// ============================================================================
24
IAlgorithm
*
Gaudi::Utils::getAlgorithm
(
const
IAlgContextSvc
* svc,
const
AlgSelector
&
sel
)
25
{
26
return
svc ?
getAlgorithm
( svc->
algorithms
(),
sel
) :
nullptr
;
27
}
28
// ============================================================================
29
// simple function to get the algorithm from Context Service
30
// ============================================================================
31
IAlgorithm
*
Gaudi::Utils::getAlgorithm
(
const
std::vector<IAlgorithm*>
& lst,
const
AlgSelector
&
sel
)
32
{
33
auto
it =
std::find_if
( lst.
rbegin
(), lst.
rend
(),
std::cref
( sel ) );
34
return
it != lst.
rend
() ? *it :
nullptr
;
35
}
36
// ============================================================================
37
38
// ============================================================================
39
// The END
40
// ============================================================================
std::vector::rend
T rend(T...args)
IAlgorithm.h
IOTest.sel
sel
Definition:
IOTest.py:95
Gaudi::Utils::getAlgorithm
GAUDI_API IAlgorithm * getAlgorithm(const IAlgContextSvc *svc, const AlgSelector &sel)
simple function to get the algorithm from Context Service
Definition:
GetAlg.cpp:24
IAlgorithm
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition:
IAlgorithm.h:28
GetAlg.h
IAlgContextSvc::algorithms
virtual const Algorithms & algorithms() const =0
get the stack of executed algorithms
IAlgContextSvc.h
std::find_if
T find_if(T...args)
std::vector< IAlgorithm * >
std::cref
T cref(T...args)
IAlgContextSvc
An abstract interface for Algorithm Context Service.
Definition:
IAlgContextSvc.h:23
Gaudi::Utils::AlgSelector
Simple interface class for selection of algorithms.
Definition:
GetAlg.h:26
std::vector::rbegin
T rbegin(T...args)
GaudiAlg
src
lib
GetAlg.cpp
Generated on Wed Aug 1 2018 23:20:50 for The Gaudi Framework by
1.8.11