The Gaudi Framework
v36r9p1 (5c15b2bb)
GetAlg.cpp
Go to the documentation of this file.
1
/***********************************************************************************\
2
* (c) Copyright 1998-2019 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
// ============================================================================
12
// Include files
13
// ============================================================================
14
#include <algorithm>
15
// ============================================================================
16
// GaudiKernel
17
// ============================================================================
18
#include "
GaudiKernel/IAlgContextSvc.h
"
19
#include "
GaudiKernel/IAlgorithm.h
"
20
// ============================================================================
21
// GaudiAlg
22
// ============================================================================
23
#include "
GaudiAlg/GetAlg.h
"
24
// ============================================================================
31
// ============================================================================
32
// simple function to get the algorithm from Context Service
33
// ============================================================================
34
IAlgorithm
*
Gaudi::Utils::getAlgorithm
(
const
IAlgContextSvc
* svc,
const
AlgSelector
&
sel
) {
35
return
svc ?
getAlgorithm
( svc->
algorithms
(),
sel
) :
nullptr
;
36
}
37
// ============================================================================
38
// simple function to get the algorithm from Context Service
39
// ============================================================================
40
IAlgorithm
*
Gaudi::Utils::getAlgorithm
(
const
std::vector<IAlgorithm*>
& lst,
const
AlgSelector
&
sel
) {
41
auto
it =
std::find_if
( lst.
rbegin
(), lst.
rend
(),
std::cref
(
sel
) );
42
return
it != lst.
rend
() ? *it :
nullptr
;
43
}
44
// ============================================================================
45
46
// ============================================================================
47
// The END
48
// ============================================================================
std::vector< IAlgorithm * >
std::find_if
T find_if(T... args)
IAlgContextSvc::algorithms
virtual const Algorithms & algorithms() const =0
get the stack of executed algorithms
IAlgorithm
Definition:
IAlgorithm.h:38
Gaudi::Utils::AlgSelector
Definition:
GetAlg.h:34
IOTest.sel
sel
Definition:
IOTest.py:109
std::vector::rend
T rend(T... args)
GetAlg.h
IAlgContextSvc.h
IAlgContextSvc
Definition:
IAlgContextSvc.h:33
IAlgorithm.h
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:34
std::cref
T cref(T... args)
std::vector::rbegin
T rbegin(T... args)
GaudiAlg
src
lib
GetAlg.cpp
Generated on Fri Feb 3 2023 18:02:52 for The Gaudi Framework by
1.8.18