ATLAS Offline Software
Loading...
Searching...
No Matches
GXFMaterialEffects.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRKGXFMATERIALEFFECTS_H
6#define TRKGXFMATERIALEFFECTS_H
7
9
10#include <memory>
11
12namespace Trk {
15 class EnergyLoss;
16 class Surface;
18
25
26 public:
41 GXFMaterialEffects() = default;
47
48 void setScatteringAngles(double, double);
49 void setScatteringSigmas(double, double);
50 double x0() const;
51 void setX0(double);
52 double deltaPhi() const;
53 double measuredDeltaPhi() const;
54 void setMeasuredDeltaPhi(double);
55 double deltaTheta() const;
56 double sigmaDeltaPhi() const;
57 double sigmaDeltaTheta() const;
58 double deltaE() const;
59
68 void setEloss(std::unique_ptr<EnergyLoss>);
69 double sigmaDeltaE() const;
70 double sigmaDeltaEPos() const;
71 double sigmaDeltaENeg() const;
72 double sigmaDeltaEAve() const;
73 void setDeltaE(double);
74 void setSigmaDeltaE(double);
75 void setSigmaDeltaEPos(double);
76 void setSigmaDeltaENeg(double);
77 double delta_p() const;
78 void setdelta_p(double);
79 void setKink(bool);
80 bool isKink() const;
81 void setMeasuredEloss(bool);
82 bool isMeasuredEloss() const;
83 const Surface &associatedSurface() const;
84
93 void setSurface(const Surface *);
94 std::unique_ptr<MaterialEffectsBase> makeMEOT() const;
96
104
105 private:
106 double m_scatphi = 0;
107 double m_scattheta = 0;
108 double m_sigmascatphi = 0;
110 double m_x0 = 0;
111 double m_deltap = 0;
112 double m_deltae = 0;
113 double m_sigmadeltae = 0;
116 std::unique_ptr<const EnergyLoss> m_eloss;
117 //not owning ptrs
118 const Surface *m_surf = nullptr;
120 bool m_iskink = false;
121 bool m_ismeasuredeloss = false;
122 double m_measscatphi = 0; // fudge to stabilize fit in muon system
123 double m_sintheta = 1;
124 };
125}
126#endif
This class describes energy loss material effects in the ATLAS tracking EDM.
Definition EnergyLoss.h:34
GXFMaterialEffects(const MaterialEffectsOnTrack &)
Constructor that captures the properties of a more standard MaterialEffectsOnTrack object.
GXFMaterialEffects & operator=(const GXFMaterialEffects &rhs)
void setSurface(const Surface *)
Set the surface for this material effects instance.
const Surface & associatedSurface() const
GXFMaterialEffects & operator=(GXFMaterialEffects &&rhs)=default
std::unique_ptr< MaterialEffectsBase > makeMEOT() const
void setScatteringAngles(double, double)
void setEloss(std::unique_ptr< EnergyLoss >)
Set the energy loss properties of this material effect.
void setScatteringSigmas(double, double)
void setMaterialProperties(const MaterialProperties *)
Set the material properties of this material effects instance.
GXFMaterialEffects(GXFMaterialEffects &&rhs)=default
const MaterialProperties * m_matprop
const MaterialProperties * materialProperties() const
std::unique_ptr< const EnergyLoss > m_eloss
base class to integrate material effects on Trk::Track in a flexible way.
represents the full description of deflection and e-loss of a track in material.
Material with information about thickness of material.
Abstract Base Class for tracking surfaces.
Ensure that the ATLAS eigen extensions are properly loaded.