![]() |
ATLAS Offline Software
|
#include <LocalExtrapolatorCache.h>
Public Types | |
| enum | ERecursionValues { kCurrentRecursionCount , kMaxRecursionCount , kNRecursionValues } |
| enum | EStatus { kContinue , kRecursionCountExceeded } |
| using | TrackParametersUVector = std::vector<std::unique_ptr<Trk::TrackParameters>> |
| using | identifiedParameters_t = std::vector<std::pair<std::unique_ptr<Trk::TrackParameters>, int>> |
| using | DestSurf = std::pair<const Surface*, BoundaryCheck> |
| The class holding the unique ptr during the extrapolation loop. | |
Public Member Functions | |
| Cache (Dbg::PropStat &stat) | |
| ~Cache () | |
| Cache (const std::vector< const IMaterialEffectsUpdator * > &updaters) | |
| void | setTrackingGeometry (const Trk::INavigator &navigator, const EventContext &ctx) |
| const Trk::TrackingVolume * | volume (const EventContext &, const Amg::Vector3D &gp) const |
| IMaterialEffectsUpdator::ICache & | subMaterialEffectsUpdatorCache (const TrackingVolume &tvol) |
| Get the IMaterialEffectsUpdator::ICache for the MaterialEffectsUpdator. | |
| IMaterialEffectsUpdator::ICache & | subMaterialEffectsUpdatorCache () |
| void | populateMatEffUpdatorCache (const std::vector< const IMaterialEffectsUpdator * > &updaters) |
| void | setRecallInformation (const Surface &, const Layer &, const TrackingVolume &) |
| Private method for setting recall Information. | |
| void | resetRecallInformation () |
| std::string | to_string (const std::string &txt) const |
| String representation of cache. | |
| bool | elossPointerOverwritten () const |
| Check cache integrity. | |
| std::string | elossPointerErrorMsg (int lineNumber=0) const |
| String error message if the cache has a problem. | |
| void | retrieveBoundaries () |
| Retrieve boundaries. | |
| void | addOneNavigationLayer (const Trk::TrackingVolume *pDetVol, const Trk::Layer *pLayer, bool boundaryCheck=true) |
| Add one layer and navigLayer. | |
| void | addOneNavigationLayer (const Trk::Layer *pLayer, bool boundaryCheck=true) |
| Add one layer and navigLayer using the current static vol. | |
| void | copyToNavigationSurfaces () |
| Insert navigation surfaces from layers, dense boundaries, navig boundaries and detached boundaries. | |
Public Attributes | |
| Trk::ExtrUniquePtrHolder< Trk::TrackParameters > | m_ownedPtrs |
| parameters to be used for final propagation in case of fallback | |
| Trk::TrackParameters * | m_lastValidParameters = nullptr |
| return helper for parameters and boundary | |
| ParametersNextVolume | m_parametersAtBoundary {} |
| Caches per MaterialUpdator. | |
| std::vector< Trk::IMaterialEffectsUpdator::ICache > | m_MaterialUpCache |
| internal switch for resolved configuration | |
| bool | m_dense = false |
| unsigned int | m_layerResolved {} |
| unsigned int | m_methodSequence = 0 |
| const Surface * | m_destinationSurface = nullptr |
| the boundary volume check | |
| const Volume * | m_boundaryVolume = nullptr |
| Destination Surface for recall. | |
| const Surface * | m_recallSurface = nullptr |
| Destination Layer for recall. | |
| const Layer * | m_recallLayer = nullptr |
| Destination TrackingVolume for recall. | |
| const TrackingVolume * | m_recallTrackingVolume = nullptr |
| const Trk::TrackingVolume * | m_currentStatic = nullptr |
| const Trk::TrackingVolume * | m_currentDense = nullptr |
| const Trk::TrackingVolume * | m_highestVolume = nullptr |
| const Trk::TrackingGeometry * | m_trackingGeometry = nullptr |
| double | m_path {} |
| Pointer (not owning) pointing. | |
| TrackParametersUVector * | m_parametersOnDetElements = nullptr |
| cache layer with last material update | |
| bool | m_cacheLastMatLayer = false |
| const Layer * | m_lastMaterialLayer = nullptr |
| cache for collecting the total X0 ans Eloss | |
| Trk::ExtrapolationCache * | m_extrapolationCache = nullptr |
| cache pointer for Eloss | |
| const Trk::EnergyLoss * | m_cacheEloss = nullptr |
| cache of TrackStateOnSurfaces | |
| std::vector< const Trk::TrackStateOnSurface * > * | m_matstates = nullptr |
| std::unique_ptr< identifiedParameters_t > | m_identifiedParameters {} |
| std::pair< unsigned int, unsigned int > | m_denseResolved {} |
| std::vector< DestSurf > | m_staticBoundaries {} |
| std::vector< DestSurf > | m_detachedBoundaries {} |
| std::vector< DestSurf > | m_denseBoundaries {} |
| std::vector< DestSurf > | m_navigBoundaries {} |
| std::vector< DestSurf > | m_layers {} |
| std::vector< std::pair< const Trk::DetachedTrackingVolume *, unsigned int > > | m_detachedVols {} |
| std::vector< std::pair< const Trk::TrackingVolume *, unsigned int > > | m_denseVols {} |
| std::vector< std::pair< const Trk::TrackingVolume *, const Trk::Layer * > > | m_navigLays {} |
| std::vector< std::pair< const Trk::Surface *, Trk::BoundaryCheck > > | m_navigSurfs {} |
| std::vector< const Trk::DetachedTrackingVolume * > | m_navigVols {} |
| std::vector< std::pair< const Trk::TrackingVolume *, unsigned int > > | m_navigVolsInt {} |
| Dbg::PropStat * | m_statPtr =nullptr |
| std::array< unsigned short, kNRecursionValues > | m_recursionCount {} |
| unsigned int | m_nPropagations {} |
| enum Trk::Cache::EStatus | m_status =kContinue |
Definition at line 35 of file LocalExtrapolatorCache.h.
| using Trk::Cache::DestSurf = std::pair<const Surface*, BoundaryCheck> |
The class holding the unique ptr during the extrapolation loop.
Definition at line 39 of file LocalExtrapolatorCache.h.
| using Trk::Cache::identifiedParameters_t = std::vector<std::pair<std::unique_ptr<Trk::TrackParameters>, int>> |
Definition at line 38 of file LocalExtrapolatorCache.h.
| using Trk::Cache::TrackParametersUVector = std::vector<std::unique_ptr<Trk::TrackParameters>> |
Definition at line 37 of file LocalExtrapolatorCache.h.
| Enumerator | |
|---|---|
| kCurrentRecursionCount | |
| kMaxRecursionCount | |
| kNRecursionValues | |
Definition at line 100 of file LocalExtrapolatorCache.h.
| enum Trk::Cache::EStatus |
| Enumerator | |
|---|---|
| kContinue | |
| kRecursionCountExceeded | |
Definition at line 103 of file LocalExtrapolatorCache.h.
| Trk::Cache::Cache | ( | Dbg::PropStat & | stat | ) |
Definition at line 20 of file LocalExtrapolatorCache.cxx.
| Trk::Cache::~Cache | ( | ) |
Definition at line 36 of file LocalExtrapolatorCache.cxx.
| Trk::Cache::Cache | ( | const std::vector< const IMaterialEffectsUpdator * > & | updaters | ) |
Definition at line 28 of file LocalExtrapolatorCache.cxx.
| void Trk::Cache::addOneNavigationLayer | ( | const Trk::Layer * | pLayer, |
| bool | boundaryCheck = true ) |
Add one layer and navigLayer using the current static vol.
Definition at line 134 of file LocalExtrapolatorCache.cxx.
| void Trk::Cache::addOneNavigationLayer | ( | const Trk::TrackingVolume * | pDetVol, |
| const Trk::Layer * | pLayer, | ||
| bool | boundaryCheck = true ) |
Add one layer and navigLayer.
Definition at line 128 of file LocalExtrapolatorCache.cxx.
| void Trk::Cache::copyToNavigationSurfaces | ( | ) |
Insert navigation surfaces from layers, dense boundaries, navig boundaries and detached boundaries.
Definition at line 140 of file LocalExtrapolatorCache.cxx.
| std::string Trk::Cache::elossPointerErrorMsg | ( | int | lineNumber = 0 | ) | const |
String error message if the cache has a problem.
Definition at line 109 of file LocalExtrapolatorCache.cxx.
| bool Trk::Cache::elossPointerOverwritten | ( | ) | const |
Check cache integrity.
Definition at line 104 of file LocalExtrapolatorCache.cxx.
| void Trk::Cache::populateMatEffUpdatorCache | ( | const std::vector< const IMaterialEffectsUpdator * > & | updaters | ) |
Definition at line 63 of file LocalExtrapolatorCache.cxx.
| void Trk::Cache::resetRecallInformation | ( | ) |
Definition at line 79 of file LocalExtrapolatorCache.cxx.
| void Trk::Cache::retrieveBoundaries | ( | ) |
Retrieve boundaries.
Definition at line 118 of file LocalExtrapolatorCache.cxx.
| void Trk::Cache::setRecallInformation | ( | const Surface & | rsf, |
| const Layer & | rlay, | ||
| const TrackingVolume & | rvol ) |
Private method for setting recall Information.
Definition at line 72 of file LocalExtrapolatorCache.cxx.
|
inline |
Definition at line 110 of file LocalExtrapolatorCache.h.
| IMaterialEffectsUpdator::ICache & Trk::Cache::subMaterialEffectsUpdatorCache | ( | ) |
Definition at line 58 of file LocalExtrapolatorCache.cxx.
| IMaterialEffectsUpdator::ICache & Trk::Cache::subMaterialEffectsUpdatorCache | ( | const TrackingVolume & | tvol | ) |
Get the IMaterialEffectsUpdator::ICache for the MaterialEffectsUpdator.
Definition at line 53 of file LocalExtrapolatorCache.cxx.
| std::string Trk::Cache::to_string | ( | const std::string & | txt | ) | const |
String representation of cache.
Definition at line 86 of file LocalExtrapolatorCache.cxx.
|
inline |
Definition at line 117 of file LocalExtrapolatorCache.h.
| const Volume* Trk::Cache::m_boundaryVolume = nullptr |
Destination Surface for recall.
Definition at line 54 of file LocalExtrapolatorCache.h.
| const Trk::EnergyLoss* Trk::Cache::m_cacheEloss = nullptr |
cache of TrackStateOnSurfaces
Definition at line 77 of file LocalExtrapolatorCache.h.
| bool Trk::Cache::m_cacheLastMatLayer = false |
Definition at line 72 of file LocalExtrapolatorCache.h.
| const Trk::TrackingVolume* Trk::Cache::m_currentDense = nullptr |
Definition at line 62 of file LocalExtrapolatorCache.h.
| const Trk::TrackingVolume* Trk::Cache::m_currentStatic = nullptr |
Definition at line 61 of file LocalExtrapolatorCache.h.
| bool Trk::Cache::m_dense = false |
Definition at line 49 of file LocalExtrapolatorCache.h.
| std::vector<DestSurf> Trk::Cache::m_denseBoundaries {} |
Definition at line 87 of file LocalExtrapolatorCache.h.
| std::pair<unsigned int, unsigned int> Trk::Cache::m_denseResolved {} |
Definition at line 83 of file LocalExtrapolatorCache.h.
| std::vector<std::pair<const Trk::TrackingVolume*, unsigned int> > Trk::Cache::m_denseVols {} |
Definition at line 92 of file LocalExtrapolatorCache.h.
| const Surface* Trk::Cache::m_destinationSurface = nullptr |
the boundary volume check
Definition at line 52 of file LocalExtrapolatorCache.h.
| std::vector<DestSurf> Trk::Cache::m_detachedBoundaries {} |
Definition at line 86 of file LocalExtrapolatorCache.h.
| std::vector<std::pair<const Trk::DetachedTrackingVolume*, unsigned int> > Trk::Cache::m_detachedVols {} |
Definition at line 91 of file LocalExtrapolatorCache.h.
| Trk::ExtrapolationCache* Trk::Cache::m_extrapolationCache = nullptr |
cache pointer for Eloss
Definition at line 75 of file LocalExtrapolatorCache.h.
| const Trk::TrackingVolume* Trk::Cache::m_highestVolume = nullptr |
Definition at line 63 of file LocalExtrapolatorCache.h.
| std::unique_ptr<identifiedParameters_t> Trk::Cache::m_identifiedParameters {} |
Definition at line 81 of file LocalExtrapolatorCache.h.
| const Layer* Trk::Cache::m_lastMaterialLayer = nullptr |
cache for collecting the total X0 ans Eloss
Definition at line 73 of file LocalExtrapolatorCache.h.
| Trk::TrackParameters* Trk::Cache::m_lastValidParameters = nullptr |
return helper for parameters and boundary
Definition at line 43 of file LocalExtrapolatorCache.h.
| unsigned int Trk::Cache::m_layerResolved {} |
Definition at line 50 of file LocalExtrapolatorCache.h.
| std::vector<DestSurf> Trk::Cache::m_layers {} |
Definition at line 89 of file LocalExtrapolatorCache.h.
| std::vector<Trk::IMaterialEffectsUpdator::ICache> Trk::Cache::m_MaterialUpCache |
internal switch for resolved configuration
Definition at line 47 of file LocalExtrapolatorCache.h.
| std::vector<const Trk::TrackStateOnSurface*>* Trk::Cache::m_matstates = nullptr |
Definition at line 79 of file LocalExtrapolatorCache.h.
| unsigned int Trk::Cache::m_methodSequence = 0 |
Definition at line 51 of file LocalExtrapolatorCache.h.
| std::vector<DestSurf> Trk::Cache::m_navigBoundaries {} |
Definition at line 88 of file LocalExtrapolatorCache.h.
| std::vector<std::pair<const Trk::TrackingVolume*, const Trk::Layer*> > Trk::Cache::m_navigLays {} |
Definition at line 93 of file LocalExtrapolatorCache.h.
| std::vector<std::pair<const Trk::Surface*, Trk::BoundaryCheck> > Trk::Cache::m_navigSurfs {} |
Definition at line 94 of file LocalExtrapolatorCache.h.
| std::vector<const Trk::DetachedTrackingVolume*> Trk::Cache::m_navigVols {} |
Definition at line 95 of file LocalExtrapolatorCache.h.
| std::vector<std::pair<const Trk::TrackingVolume*, unsigned int> > Trk::Cache::m_navigVolsInt {} |
Definition at line 96 of file LocalExtrapolatorCache.h.
| unsigned int Trk::Cache::m_nPropagations {} |
Definition at line 102 of file LocalExtrapolatorCache.h.
| Trk::ExtrUniquePtrHolder<Trk::TrackParameters> Trk::Cache::m_ownedPtrs |
parameters to be used for final propagation in case of fallback
Definition at line 41 of file LocalExtrapolatorCache.h.
| ParametersNextVolume Trk::Cache::m_parametersAtBoundary {} |
| TrackParametersUVector* Trk::Cache::m_parametersOnDetElements = nullptr |
cache layer with last material update
Definition at line 70 of file LocalExtrapolatorCache.h.
| double Trk::Cache::m_path {} |
| const Layer* Trk::Cache::m_recallLayer = nullptr |
Destination TrackingVolume for recall.
Definition at line 58 of file LocalExtrapolatorCache.h.
| const Surface* Trk::Cache::m_recallSurface = nullptr |
Destination Layer for recall.
Definition at line 56 of file LocalExtrapolatorCache.h.
| const TrackingVolume* Trk::Cache::m_recallTrackingVolume = nullptr |
Definition at line 60 of file LocalExtrapolatorCache.h.
| std::array<unsigned short,kNRecursionValues> Trk::Cache::m_recursionCount {} |
Definition at line 101 of file LocalExtrapolatorCache.h.
| std::vector<DestSurf> Trk::Cache::m_staticBoundaries {} |
Definition at line 85 of file LocalExtrapolatorCache.h.
| Dbg::PropStat* Trk::Cache::m_statPtr =nullptr |
Definition at line 99 of file LocalExtrapolatorCache.h.
| enum Trk::Cache::EStatus Trk::Cache::m_status =kContinue |
| const Trk::TrackingGeometry* Trk::Cache::m_trackingGeometry = nullptr |
Definition at line 65 of file LocalExtrapolatorCache.h.