ATLAS Offline Software
Loading...
Searching...
No Matches
ExtrapolationCache.icc
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4
5namespace Trk {
6inline ExtrapolationCache::ExtrapolationCache(double x0tot)
7 : m_x0tot(x0tot)
8 , m_eloss(nullptr)
9{}
10
11inline ExtrapolationCache::ExtrapolationCache(double x0tot, EnergyLoss* eloss)
12 : m_x0tot(x0tot)
13 , m_eloss(eloss)
14{}
15
16inline ExtrapolationCache*
17ExtrapolationCache::clone() const
18{
19 return new ExtrapolationCache(*this);
20}
21
22inline double
23ExtrapolationCache::x0tot() const
24{
25 return m_x0tot;
26}
27
28inline const EnergyLoss*
29ExtrapolationCache::eloss() const
30{
31 return m_eloss;
32}
33
34inline void
35ExtrapolationCache::reset()
36{
37 m_x0tot = 0.;
38 m_eloss->update(-m_eloss->meanIoni(),
39 -m_eloss->sigmaIoni(),
40 -m_eloss->meanRad(),
41 -m_eloss->sigmaRad(),
42 false);
43}
44
45inline void
46ExtrapolationCache::updateX0(double x0)
47{
48 m_x0tot += x0;
49}
50
51inline void
52ExtrapolationCache::updateEloss(double ioni,
53 double sigi,
54 double rad,
55 double sigr)
56{
57 m_eloss->update(ioni, sigi, rad, sigr, false);
58}
59
60}