9#ifndef TRKMATERIALONTRACK_MATERIALEFFECTSBASE_H
10#define TRKMATERIALONTRACK_MATERIALEFFECTSBASE_H
77 const std::bitset<MaterialEffectsBase::NumberOfMaterialEffectsTypes>&
89 return std::unique_ptr<MaterialEffectsBase>(
clone());
115 virtual MsgStream&
dump(MsgStream& sl)
const;
117 virtual std::ostream&
dump(std::ostream& sl)
const;
132 friend class ::MaterialEffectsBaseCnv_p1;
133 friend class ::MaterialEffectsBaseCnv_p2;
134 friend class ::MaterialEffectsOnTrackCnv_p2;
135 friend class ::TrackCollectionCnv;
136 friend class ::ScatteringAngleOnTrackCnv_p1;
145operator<<(MsgStream& sl,
const MaterialEffectsBase& meb);
149operator<<(std::ostream& sl,
const MaterialEffectsBase& meb);
Converter for T/P separation of the TrkMaterialOnTrack/MaterialEffectsBase class.
Converter for T/P separation of the TrkMaterialOnTrack/MaterialEffectsBase class.
T/P converter v2 for MaterialEffectsOnTrack.
MaterialEffectsBase(const MaterialEffectsBase &rhs)=default
copy constructor
MaterialEffectsBase & operator=(MaterialEffectsBase &&rhs)=default
move Assignment operator
@ NumberOfMaterialEffectsTypes
@ BremPoint
contains q/p covariance noise term
@ ScatteringEffects
contains material effects due to multiple scattering
@ UsesMeasurement
contains energy loss correction based on Calo measurement
@ FittedMaterialEffects
contains values obtained by fitting the scatterer or e-loss
@ EnergyLossEffects
contains energy loss corrections
@ MaterialThickness
contains only thickness, needs M.E.Updator to calculate effects
virtual ~MaterialEffectsBase()=default
destructor.
MaterialEffectsBase & operator=(const MaterialEffectsBase &rhs)=default
Assignment operator.
const Surface & associatedSurface() const
returns the surface to which these m.eff. are associated.
virtual MaterialEffectsBase * clone() const =0
Virtual constructor.
MaterialEffectsBase(double thicknessInX0, const Surface &assocSurf, const std::bitset< MaterialEffectsBase::NumberOfMaterialEffectsTypes > &typePattern)
base class constructor with information common to all types of material effects.
MaterialEffectsBase(MaterialEffectsBase &&rhs)=default
move constructor
double thicknessInX0() const
returns the actually traversed material .
MaterialEffectsBase()
default constructor for POOL
MaterialEffectsDerivedType
@ MATERIAL_EFFECTS_ON_TRACK
@ ESTIMATED_BREM_ON_TRACK
std::string dumpType() const
returns a string with the type of the object
double m_tInX0
- the traversed thickness in RadiationLengths
std::unique_ptr< MaterialEffectsBase > uniqueClone() const
NVI uniqueClone.
virtual void setValues(const Surface *assocSurface)
allows POOL converter to recreate transient links to DetStore
bool type(const MaterialEffectsType &type) const
returns the flags (bits) which types of ME are present
virtual MaterialEffectsDerivedType derivedType() const =0
Returns the concrete derived type.
Abstract Base Class for tracking surfaces.
Ensure that the ATLAS eigen extensions are properly loaded.
Trk::SurfacePtrHolderImplDetEl< Surface > SurfacePtrHolderDetEl
MsgStream & operator<<(MsgStream &sl, const AlignModule &alignModule)
overload of << operator for MsgStream for debug output