ATLAS Offline Software
Loading...
Searching...
No Matches
Extrapolator.icc
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4namespace Trk {
5
6inline const TrackingGeometry*
7Extrapolator::trackingGeometry() const
8{
9 if (m_navigator){
10 return m_navigator->trackingGeometry(Gaudi::Hive::currentContext());
11 }
12 return nullptr;
13}
14
15inline const IPropagator*
16Extrapolator::subPropagator(const Trk::TrackingVolume& tvol) const
17{
18 const IPropagator* currentPropagator =
19 (tvol.geometrySignature() < m_subPropagators.size())
20 ? m_subPropagators[tvol.geometrySignature()]
21 : nullptr;
22
23 if (tvol.geometrySignature() == Trk::Calo && m_useDenseVolumeDescription) {
24 currentPropagator =
25 (Trk::MS < m_subPropagators.size()) ? m_subPropagators[Trk::MS] : nullptr;
26 }
27 if (!currentPropagator) {
28 ATH_MSG_ERROR(
29 "[!] Configuration problem: no Propagator found for volumeSignature: "
30 << tvol.geometrySignature());
31 }
32 return currentPropagator;
33}
34
35inline const IMaterialEffectsUpdator*
36Extrapolator::subMaterialEffectsUpdator(const Trk::TrackingVolume& tvol) const
37{
38 return (tvol.geometrySignature() < m_subupdaters.size())
39 ? m_subupdaters[tvol.geometrySignature()]
40 : nullptr;
41}
42
43}