![]() |
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! | |
| 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 | |
| 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 | |
| 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 | |
| MaterialEffectsOnTrack (const double tInX0, const Surface &assocSurf) | |
| partial constructor with only a thickness, input to ME-Updator | |
| MaterialEffectsOnTrack (const MaterialEffectsOnTrack &meot) | |
| Copy constructor. | |
| MaterialEffectsOnTrack & | operator= (const MaterialEffectsOnTrack &rhs) |
| Assignment operator. | |
| MaterialEffectsOnTrack (MaterialEffectsOnTrack &&meot) noexcept=default | |
| Moveconstructor. | |
| MaterialEffectsOnTrack & | operator= (MaterialEffectsOnTrack &&rhs) noexcept=default |
| Assignment operator. | |
| virtual | ~MaterialEffectsOnTrack ()=default |
| virtual destructor | |
| MaterialEffectsBase::MaterialEffectsDerivedType | derivedType () const override final |
| concrete type | |
| const ScatteringAngles * | scatteringAngles () const |
| returns the MCS-angles object. | |
| const EnergyLoss * | energyLoss () const |
| returns the energy loss object. | |
| virtual MaterialEffectsOnTrack * | clone () const override final |
| Virtual constructor. | |
| std::unique_ptr< MaterialEffectsOnTrack > | uniqueClone () const |
| NVI uniqueClone. | |
| virtual MsgStream & | dump (MsgStream &sl) const override final |
| Interface method for output. | |
| virtual std::ostream & | dump (std::ostream &sl) const override final |
| Interface method for output. | |
| double | thicknessInX0 () const |
| returns the actually traversed material \( t/X_0 \). | |
| const Surface & | associatedSurface () const |
| returns the surface to which these m.eff. are associated. | |
| bool | type (const MaterialEffectsType &type) const |
| returns the flags (bits) which types of ME are present | |
| std::string | dumpType () const |
| returns a string with the type of the object | |
| const Surface * | surfacePtr () |
| return the ptr we hold useful for tests | |
| const Surface * | release () noexcept |
| release ala unique_ptr release | |
| void | destroySurface () noexcept |
| destroySurface deletes the ptr if not null and the surface has not a associatedDetectorElement Usefull also for testing | |
Static Public Member Functions | |
| static const Surface * | cloneHelper (const Surface *input) |
| Helper for cloning or not when we need depending on if we have an associatedDetectorElement. | |
Protected Member Functions | |
| virtual void | setValues (const Surface *assocSurface) |
| allows POOL converter to recreate transient links to DetStore | |
Protected Attributes | |
| const Surface * | m_associatedSurface |
Private Attributes | |
| std::optional< ScatteringAngles > | m_scatteringAngles = std::nullopt |
| holds the scattering angles+errors in a separate object | |
| std::unique_ptr< const EnergyLoss > | m_energyLoss = nullptr |
| holds the measured and/or estimated energy loss in a separate object | |
| double | m_tInX0 {} |
| \( t/X_0 \) - the traversed thickness in RadiationLengths | |
| 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
|
inherited |
returns the surface to which these m.eff. are associated.
|
finaloverridevirtual |
Virtual constructor.
Implements Trk::MaterialEffectsBase.
|
inlinestaticinherited |
Helper for cloning or not when we need depending on if we have an associatedDetectorElement.
Definition at line 213 of file SurfaceHolderImpl.h.
|
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 201 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 |
returns a string with the type of the object
Definition at line 16 of file MaterialEffectsBase.cxx.
| 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 221 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.