|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef TRKEXTOOLS_LOCALEXCACHE_H
6 #define TRKEXTOOLS_LOCALEXCACHE_H
20 class ExtrapolationCache;
22 class TrackStateOnSurface;
33 typedef std::pair<const Surface*, BoundaryCheck>
DestSurf;
71 std::vector<const Trk::TrackStateOnSurface*>*
m_matstates =
nullptr;
86 std::vector<std::pair<const Trk::DetachedTrackingVolume*, unsigned int>>
m_detachedVols;
87 std::vector<std::pair<const Trk::TrackingVolume*, unsigned int>>
m_denseVols;
88 std::vector<std::pair<const Trk::TrackingVolume*, const Trk::Layer*>>
m_navigLays;
89 std::vector<std::pair<const Trk::Surface*, Trk::BoundaryCheck>>
m_navigSurfs;
91 std::vector<std::pair<const Trk::TrackingVolume*, unsigned int>>
m_navigVolsInt;
96 Cache(
const std::vector<const IMaterialEffectsUpdator*> & updaters);
IMaterialEffectsUpdator::ICache & subMaterialEffectsUpdatorCache()
std::vector< DestSurf > m_detachedBoundaries
ManagedTrackParmPtr m_lastValidParameters
return helper for parameters and boundary
std::vector< std::pair< const Trk::TrackingVolume *, unsigned int > > m_denseVols
std::vector< std::pair< const Trk::DetachedTrackingVolume *, unsigned int > > m_detachedVols
Cache class to allow passing information to/between calls.
std::vector< Trk::IMaterialEffectsUpdator::ICache > m_MaterialUpCache
internal switch for resolved configuration
Trk::ExtrapolationCache * m_extrapolationCache
cache pointer for Eloss
std::vector< DestSurf > m_navigBoundaries
const TrackingVolume * m_recallTrackingVolume
const Trk::TrackingGeometry * trackingGeometry(const Trk::INavigator &navigator, const EventContext &ctx)
std::vector< DestSurf > m_layers
void populateMatEffUpdatorCache(const std::vector< const IMaterialEffectsUpdator * > &updaters)
TrackParametersUVector * m_parametersOnDetElements
cache layer with last material update
std::vector< std::pair< const Trk::TrackingVolume *, const Trk::Layer * > > m_navigLays
void setRecallInformation(const Surface &, const Layer &, const TrackingVolume &)
Private method for setting recall Information.
void retrieveBoundaries()
Retrieve boundaries.
void resetRecallInformation()
std::pair< const Surface *, BoundaryCheck > DestSurf
std::vector< std::pair< std::unique_ptr< Trk::TrackParameters >, int > > identifiedParameters_t
void addOneNavigationLayer(const Trk::TrackingVolume *pDetVol, const Trk::Layer *pLayer, bool boundaryCheck=true)
Add one layer and navigLayer.
virtual const TrackingGeometry * trackingGeometry(const EventContext &ctx) const =0
INavigator interface method - returns the TrackingGeometry used for navigation.
const Volume * m_boundaryVolume
Destination Surface for recall.
ObjPtr< Trk::TrackParameters > ManagedTrackParmPtr
unsigned int m_layerResolved
std::vector< const Trk::TrackStateOnSurface * > * m_matstates
std::pair< unsigned int, unsigned int > m_denseResolved
bool m_dense
Flag the recall solution.
std::vector< std::pair< const Trk::Surface *, Trk::BoundaryCheck > > m_navigSurfs
const Trk::TrackingVolume * m_highestVolume
Pointer (not owning) pointing.
std::vector< DestSurf > m_staticBoundaries
std::vector< DestSurf > m_denseBoundaries
const Surface * m_recallSurface
Destination Layer for recall.
const Trk::TrackingVolume * m_currentDense
const Trk::TrackingGeometry * m_trackingGeometry
ManagedTrackParmPtr manage()
const Layer * m_recallLayer
Destination TrackingVolume for recall.
ManagedTrackParmPtr manage(TrackParmPtr parm)
std::string elossPointerErrorMsg(int lineNumber=0) const
String error message if the cache has a problem.
const Surface * m_destinationSurface
the boundary volume check
Ensure that the ATLAS eigen extensions are properly loaded.
This class describes energy loss material effects in the ATLAS tracking EDM.
Eigen::Matrix< double, 3, 1 > Vector3D
TrackParmContainer m_trackParmContainer
parameters to be used for final propagation in case of fallback
Helper class to refer to objects in the container ObjContainer.
unsigned int m_methodSequence
bool elossPointerOverwritten() const
Check cache integrity.
const TrackingVolume * lowestTrackingVolume(const Amg::Vector3D &gp) const
return the lowest tracking Volume
std::vector< const Trk::DetachedTrackingVolume * > m_navigVols
std::string to_string(const std::string &txt) const
String representation of cache.
void copyToNavigationSurfaces()
Insert navigation surfaces from layers, dense boundaries, navig boundaries and detached boundaries.
std::vector< std::pair< const Trk::TrackingVolume *, unsigned int > > m_navigVolsInt
ManagedTrackParmPtr manage(std::unique_ptr< Trk::TrackParameters > &&parm)
const Trk::TrackingVolume * volume(const EventContext &, const Amg::Vector3D &gp) const
TrackParmContainer & trackParmContainer()
const Trk::EnergyLoss * m_cacheEloss
cache of TrackStateOnSurfaces
const Layer * m_lastMaterialLayer
cache for collecting the total X0 ans Eloss
const Trk::TrackingVolume * m_currentStatic
ParametersNextVolume m_parametersAtBoundary
Caches per MaterialUpdator.
std::vector< std::unique_ptr< Trk::TrackParameters > > TrackParametersUVector
std::unique_ptr< identifiedParameters_t > m_identifiedParameters