ATLAS Offline Software
Loading...
Searching...
No Matches
ExtrapolationCache.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4
6// ExtrapolationCache.h
8
9#ifndef TRKEXUTILS_EXTRAPOLATIONCACHE_H
10#define TRKEXUTILS_EXTRAPOLATIONCACHE_H
11
18
20
21namespace Trk {
22
23class Energyloss;
24
26{
27
28public:
29 //
30 // Constructor
31 //
32 ExtrapolationCache() = default;
33 ExtrapolationCache(const ExtrapolationCache& other) = default;
37
41
44
45 // total X0
46 double x0tot() const;
47 // total Eloss
48 const EnergyLoss* eloss() const;
49 // reset to zero
50 void reset();
51 // add X0 value
52 void updateX0(double x0);
53 // add Eloss values
54 void updateEloss(double ioni, double sigi, double rad, double sigr);
55
56private:
57 double m_x0tot{};
58 EnergyLoss* m_eloss{}; // We do not own this ptr
59};
60
61}
63#endif
This class describes energy loss material effects in the ATLAS tracking EDM.
Definition EnergyLoss.h:34
ExtrapolationCache & operator=(const ExtrapolationCache &other)=default
ExtrapolationCache & operator=(ExtrapolationCache &&other)=default
ExtrapolationCache(double x0tot)
ExtrapolationCache(double x0tot, EnergyLoss *eloss)
void updateX0(double x0)
ExtrapolationCache * clone() const
Destructor.
const EnergyLoss * eloss() const
ExtrapolationCache(ExtrapolationCache &&other)=default
double x0tot() const
void updateEloss(double ioni, double sigi, double rad, double sigr)
ExtrapolationCache(const ExtrapolationCache &other)=default
Ensure that the ATLAS eigen extensions are properly loaded.