ATLAS Offline Software
|
represents the full description of deflection and e-loss of a track in material. More...
#include <MaterialEffectsOnTrack.h>
Public Types | |
enum | MaterialEffectsDerivedType { ESTIMATED_BREM_ON_TRACK = 0, MATERIAL_EFFECTS_ON_TRACK, NTYPES } |
enum | MaterialEffectsType { ScatteringEffects = 0, EnergyLossEffects = 1, MaterialThickness = 2, BremPoint = 3, UsesMeasurement = 4, FittedMaterialEffects = 5, Unknown = 6, NumberOfMaterialEffectsTypes = 7 } |
Public Member Functions | |
MaterialEffectsOnTrack ()=default | |
default constructor for POOL - do not use in reconstruction! More... | |
MaterialEffectsOnTrack (const double tInX0, std::optional< ScatteringAngles > scat, std::unique_ptr< const Trk::EnergyLoss > eloss, const Surface &assocSurf, const std::bitset< MaterialEffectsBase::NumberOfMaterialEffectsTypes > &typePattern=std::bitset< MaterialEffectsBase::NumberOfMaterialEffectsTypes >()) | |
full constructor passing (with ownership) both scattering angle and energy loss More... | |
MaterialEffectsOnTrack (const double tInX0, std::optional< ScatteringAngles > scat, const Surface &assocSurf, const std::bitset< MaterialEffectsBase::NumberOfMaterialEffectsTypes > &typePattern=std::bitset< MaterialEffectsBase::NumberOfMaterialEffectsTypes >()) | |
partial constructor passing (with ownership) a scattering angle object More... | |
MaterialEffectsOnTrack (const double tInX0, std::unique_ptr< const EnergyLoss > eloss, const Surface &assocSurf, const std::bitset< MaterialEffectsBase::NumberOfMaterialEffectsTypes > &typePattern=std::bitset< MaterialEffectsBase::NumberOfMaterialEffectsTypes >()) | |
partial constructor passing (with ownership) an energy loss object More... | |
MaterialEffectsOnTrack (const double tInX0, const Surface &assocSurf) | |
partial constructor with only a thickness, input to ME-Updator More... | |
MaterialEffectsOnTrack (const MaterialEffectsOnTrack &meot) | |
Copy constructor. More... | |
MaterialEffectsOnTrack & | operator= (const MaterialEffectsOnTrack &rhs) |
Assignment operator. More... | |
MaterialEffectsOnTrack (MaterialEffectsOnTrack &&meot) noexcept=default | |
Moveconstructor. More... | |
MaterialEffectsOnTrack & | operator= (MaterialEffectsOnTrack &&rhs) noexcept=default |
Assignment operator. More... | |
virtual | ~MaterialEffectsOnTrack ()=default |
virtual destructor More... | |
MaterialEffectsBase::MaterialEffectsDerivedType | derivedType () const override final |
concrete type More... | |
const ScatteringAngles * | scatteringAngles () const |
returns the MCS-angles object. More... | |
const EnergyLoss * | energyLoss () const |
returns the energy loss object. More... | |
virtual MaterialEffectsOnTrack * | clone () const override final |
Virtual constructor. More... | |
std::unique_ptr< MaterialEffectsOnTrack > | uniqueClone () const |
NVI uniqueClone. More... | |
virtual MsgStream & | dump (MsgStream &sl) const override final |
Interface method for output. More... | |
virtual std::ostream & | dump (std::ostream &sl) const override final |
Interface method for output. More... | |
double | thicknessInX0 () const |
returns the actually traversed material \( t/X_0 \). More... | |
const Surface & | associatedSurface () const |
returns the surface to which these m.eff. are associated. More... | |
bool | type (const MaterialEffectsType &type) const |
returns the flags (bits) which types of ME are present More... | |
std::string | dumpType () const |
returns a string with the type of the object More... | |
const S * | surfacePtr () |
return the ptr we hold useful for tests More... | |
const S * | release () noexcept |
release ala unique_ptr release More... | |
void | destroySurface () noexcept |
destroySurface deletes the ptr if not null and the surface has not a associatedDetectorElement Usefull also for testing More... | |
Static Public Member Functions | |
static const S * | cloneHelper (const S *input) |
Helper for cloning or not when we need depending on if we have an associatedDetectorElement. More... | |
Protected Member Functions | |
virtual void | setValues (const Surface *assocSurface) |
allows POOL converter to recreate transient links to DetStore More... | |
Protected Attributes | |
const S * | m_associatedSurface = nullptr |
Private Attributes | |
std::optional< ScatteringAngles > | m_scatteringAngles = std::nullopt |
holds the scattering angles+errors in a separate object More... | |
std::unique_ptr< const EnergyLoss > | m_energyLoss = nullptr |
holds the measured and/or estimated energy loss in a separate object More... | |
double | m_tInX0 {} |
\( t/X_0 \) - the traversed thickness in RadiationLengths More... | |
long | m_typeFlags {} |
Friends | |
class | ::MaterialEffectsOnTrackCnv_p2 |
class | ::ScatteringAngleOnTrackCnv_p1 |
represents the full description of deflection and e-loss of a track in material.
This class is part of the ATLAS tracking EDM and extends the Trk::MaterialOnTrack base class known to the track. It holds two objects, one representing the deflection angles wrt. the track's theta and phi and their uncertainties, the other the energy loss and its uncertainties. Both objects are passed by pointer, implying that Trk::MaterialEffectsOnTrack will take ownership of them and that not both of them need to be present.
Definition at line 39 of file MaterialEffectsOnTrack.h.
|
inherited |
Enumerator | |
---|---|
ESTIMATED_BREM_ON_TRACK | |
MATERIAL_EFFECTS_ON_TRACK | |
NTYPES |
Definition at line 37 of file MaterialEffectsBase.h.
|
inherited |
Enumerator | |
---|---|
ScatteringEffects | contains material effects due to multiple scattering |
EnergyLossEffects | contains energy loss corrections |
MaterialThickness | contains only thickness, needs M.E.Updator to calculate effects |
BremPoint | contains q/p covariance noise term |
UsesMeasurement | contains energy loss correction based on Calo measurement |
FittedMaterialEffects | contains values obtained by fitting the scatterer or e-loss |
Unknown | new category |
NumberOfMaterialEffectsTypes |
Definition at line 42 of file MaterialEffectsBase.h.
|
default |
default constructor for POOL - do not use in reconstruction!
Trk::MaterialEffectsOnTrack::MaterialEffectsOnTrack | ( | const double | tInX0, |
std::optional< ScatteringAngles > | scat, | ||
std::unique_ptr< const Trk::EnergyLoss > | eloss, | ||
const Surface & | assocSurf, | ||
const std::bitset< MaterialEffectsBase::NumberOfMaterialEffectsTypes > & | typePattern = std::bitset< MaterialEffectsBase::NumberOfMaterialEffectsTypes >() |
||
) |
full constructor passing (with ownership) both scattering angle and energy loss
[in] | tInX0 | layer thickness in terms of rad length |
[in] | scat | pointer to ScatteringAngles object (passing ownership) |
[in] | eloss | pointer to EnergyLoss base class (passing ownership) |
[in] | assocSurf | Surface on which material effects are expressed |
[in] | typePattern | bitset scheme to characterise type of MEOT. |
Trk::MaterialEffectsOnTrack::MaterialEffectsOnTrack | ( | const double | tInX0, |
std::optional< ScatteringAngles > | scat, | ||
const Surface & | assocSurf, | ||
const std::bitset< MaterialEffectsBase::NumberOfMaterialEffectsTypes > & | typePattern = std::bitset< MaterialEffectsBase::NumberOfMaterialEffectsTypes >() |
||
) |
partial constructor passing (with ownership) a scattering angle object
[in] | tInX0 | layer thickness in terms of rad length |
[in] | scat | pointer to ScatteringAngles object (passing ownership) |
[in] | assocSurf | surface on which material effects are expressed |
[in] | typePattern | bitset scheme to characterise type of MEOT. |
Trk::MaterialEffectsOnTrack::MaterialEffectsOnTrack | ( | const double | tInX0, |
std::unique_ptr< const EnergyLoss > | eloss, | ||
const Surface & | assocSurf, | ||
const std::bitset< MaterialEffectsBase::NumberOfMaterialEffectsTypes > & | typePattern = std::bitset< MaterialEffectsBase::NumberOfMaterialEffectsTypes >() |
||
) |
partial constructor passing (with ownership) an energy loss object
[in] | tInX0 | layer thickness in terms of rad length |
[in] | eloss | pointer to EnergyLoss object (passing ownership) |
[in] | assocSurf | surface on which material effects are expressed |
[in] | typePattern | bitset scheme to characterise type of MEOT. |
Trk::MaterialEffectsOnTrack::MaterialEffectsOnTrack | ( | const double | tInX0, |
const Surface & | assocSurf | ||
) |
partial constructor with only a thickness, input to ME-Updator
[in] | tInX0 | layer thickness in terms of rad length |
[in] | assocSurf | surface on which material effects are expressed The type will be defaulted to MaterialUpdatorInput. |
Trk::MaterialEffectsOnTrack::MaterialEffectsOnTrack | ( | const MaterialEffectsOnTrack & | meot | ) |
Copy constructor.
|
defaultnoexcept |
Moveconstructor.
|
virtualdefault |
virtual destructor
returns the surface to which these m.eff. are associated.
|
finaloverridevirtual |
Virtual constructor.
Implements Trk::MaterialEffectsBase.
|
inlinestaticinherited |
|
inlinefinaloverridevirtual |
concrete type
Implements Trk::MaterialEffectsBase.
Definition at line 116 of file MaterialEffectsOnTrack.h.
|
inlinenoexceptinherited |
destroySurface deletes the ptr if not null and the surface has not a associatedDetectorElement Usefull also for testing
Definition at line 224 of file SurfaceHolderImpl.h.
|
finaloverridevirtual |
Interface method for output.
Reimplemented from Trk::MaterialEffectsBase.
Definition at line 13 of file MaterialEffectsOnTrack.cxx.
|
finaloverridevirtual |
Interface method for output.
Reimplemented from Trk::MaterialEffectsBase.
Definition at line 31 of file MaterialEffectsOnTrack.cxx.
|
inherited |
const EnergyLoss* Trk::MaterialEffectsOnTrack::energyLoss | ( | ) | const |
returns the energy loss object.
Careful: DO NOT DELETE! Pointer may be NULL if no E loss but only scattering angles are contained.
MaterialEffectsOnTrack& Trk::MaterialEffectsOnTrack::operator= | ( | const MaterialEffectsOnTrack & | rhs | ) |
Assignment operator.
|
defaultnoexcept |
Assignment operator.
|
inlinenoexceptinherited |
const ScatteringAngles* Trk::MaterialEffectsOnTrack::scatteringAngles | ( | ) | const |
returns the MCS-angles object.
Careful: DO NOT DELETE! Pointer may be NULL if no MCS but only energy loss is contained.
|
protectedvirtualinherited |
allows POOL converter to recreate transient links to DetStore
|
inlineinherited |
|
inherited |
returns the actually traversed material \( t/X_0 \).
Leave 0.0 for external ME.
|
inherited |
returns the flags (bits) which types of ME are present
Use this method to find out if the ME is of a certain type: i.e. if ( mefot->type(MaterialEffectsBase::EnergyLoss) { //etc }
std::unique_ptr<MaterialEffectsOnTrack> Trk::MaterialEffectsOnTrack::uniqueClone | ( | ) | const |
NVI uniqueClone.
|
friend |
Definition at line 142 of file MaterialEffectsOnTrack.h.
|
friend |
Definition at line 143 of file MaterialEffectsOnTrack.h.
|
protectedinherited |
Definition at line 244 of file SurfaceHolderImpl.h.
|
private |
holds the measured and/or estimated energy loss in a separate object
Definition at line 148 of file MaterialEffectsOnTrack.h.
|
private |
holds the scattering angles+errors in a separate object
Definition at line 146 of file MaterialEffectsOnTrack.h.
|
privateinherited |
\( t/X_0 \) - the traversed thickness in RadiationLengths
Definition at line 139 of file MaterialEffectsBase.h.
|
privateinherited |
Definition at line 140 of file MaterialEffectsBase.h.