The Gaudi Framework  v33r1 (b1225454)
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 // ============================================================================
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 // ============================================================================
35  return svc ? getAlgorithm( svc->algorithms(), sel ) : nullptr;
36 }
37 // ============================================================================
38 // simple function to get the algorithm from Context Service
39 // ============================================================================
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 // ============================================================================
T rend(T... args)
virtual const Algorithms & algorithms() const =0
get the stack of executed algorithms
GAUDI_API IAlgorithm * getAlgorithm(const IAlgContextSvc *svc, const AlgSelector &sel)
simple function to get the algorithm from Context Service
Definition: GetAlg.cpp:34
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition: IAlgorithm.h:38
T find_if(T... args)
T cref(T... args)
An abstract interface for Algorithm Context Service.
Simple interface class for selection of algorithms.
Definition: GetAlg.h:34
T rbegin(T... args)