16 m_deltae = meot.energyLoss()->deltaE();
17 m_sigmadeltaepos = meot.energyLoss()->sigmaPlusDeltaE();
18 m_sigmadeltaeneg = meot.energyLoss()->sigmaMinusDeltaE();
20 if (meot.scatteringAngles() == nullptr) {
21 m_eloss = std::unique_ptr<EnergyLoss>(meot.energyLoss()->clone());
22 m_sigmadeltae = meot.energyLoss()->sigmaDeltaE();
33 double x0 = meot.thicknessInX0();
34 const ScatteringAngles *scatangles = meot.scatteringAngles();
36 if ((scatangles !=
nullptr) && x0 > 0) {
38 m_sintheta = scatangles->sigmaDeltaTheta() / scatangles->sigmaDeltaPhi();
39 m_scatphi = scatangles->deltaPhi();
40 m_scattheta = scatangles->deltaTheta();
41 m_sigmascatphi = scatangles->sigmaDeltaPhi();
42 m_sigmascattheta = scatangles->sigmaDeltaTheta();
44 m_scatphi = m_scattheta = m_sigmascatphi = m_sigmascattheta = 0;
211 std::optional<ScatteringAngles> scatangles;
217 std::bitset<MaterialEffectsBase::NumberOfMaterialEffectsTypes> typePattern;
219 std::unique_ptr<const Trk::EnergyLoss> neweloss;
223 neweloss.reset(
m_eloss->clone());
229 return std::make_unique<MaterialEffectsOnTrack>(
230 m_x0, scatangles, std::move(neweloss), *
m_surf, typePattern);
This class describes energy loss material effects in the ATLAS tracking EDM.
void setMeasuredEloss(bool)
bool isMeasuredEloss() const
void setSigmaDeltaE(double)
double measuredDeltaPhi() const
GXFMaterialEffects(const MaterialEffectsOnTrack &)
Constructor that captures the properties of a more standard MaterialEffectsOnTrack object.
double deltaTheta() const
GXFMaterialEffects & operator=(const GXFMaterialEffects &rhs)
double sigmaDeltaEPos() const
void setSigmaDeltaENeg(double)
void setSigmaDeltaEPos(double)
double sigmaDeltaE() const
void setSurface(const Surface *)
Set the surface for this material effects instance.
const Surface & associatedSurface() const
std::unique_ptr< MaterialEffectsBase > makeMEOT() const
double sigmaDeltaEAve() const
void setScatteringAngles(double, double)
GXFMaterialEffects()=default
double sigmaDeltaPhi() const
void setEloss(std::unique_ptr< EnergyLoss >)
Set the energy loss properties of this material effect.
void setScatteringSigmas(double, double)
double sigmaDeltaTheta() const
double sigmaDeltaENeg() const
void setMaterialProperties(const MaterialProperties *)
Set the material properties of this material effects instance.
void setMeasuredDeltaPhi(double)
const MaterialProperties * m_matprop
const MaterialProperties * materialProperties() const
std::unique_ptr< const EnergyLoss > m_eloss
@ FittedMaterialEffects
contains values obtained by fitting the scatterer or e-loss
represents the full description of deflection and e-loss of a track in material.
const EnergyLoss * energyLoss() const
returns the energy loss object.
Material with information about thickness of material.
represents a deflection of the track caused through multiple scattering in material.
Abstract Base Class for tracking surfaces.
Ensure that the ATLAS eigen extensions are properly loaded.