ATLAS Offline Software
Loading...
Searching...
No Matches
Trk::NavigationLayer Class Referencefinal

Class to be used for gaps in Volumes as a navigational link. More...

#include <NavigationLayer.h>

Inheritance diagram for Trk::NavigationLayer:
Collaboration diagram for Trk::NavigationLayer:

Public Member Functions

 NavigationLayer (std::unique_ptr< Surface > surfaceRepresentation)
 Constructor.
 NavigationLayer (std::unique_ptr< Trk::Surface > surfaceRepresentation, double thickness)
 NavigationLayer (const NavigationLayer &lay)
 Copy Constructor -.
virtual ~NavigationLayer () override=default
 Destructor.
NavigationLayeroperator= (const NavigationLayer &lay)
 Assignment operator.
virtual const SurfacesurfaceRepresentation () const override final
 Transforms the layer into a Surface representation for extrapolation.
virtual SurfacesurfaceRepresentation () override final
virtual bool isOnLayer (const Amg::Vector3D &gp, const BoundaryCheck &bcheck=BoundaryCheck(true)) const override final
 isOnLayer() method, using isOnSurface() with Layer specific tolerance
const MaterialPropertiesfullUpdateMaterialProperties () const
 getting the MaterialProperties back - for full update
virtual double preUpdateMaterialFactor (const Trk::TrackParameters &par, Trk::PropDirection dir) const override final
 getting the MaterialProperties back - for pre-update
virtual double postUpdateMaterialFactor (const Trk::TrackParameters &par, Trk::PropDirection dir) const override final
 getting the MaterialProperties back - for post-update
const SurfaceoverlapSurface (const TrackParameters &tp, const Surface *sf=nullptr) const
 getting the next/overlapping Surface
virtual void moveLayer (Amg::Transform3D &) override final
 move the Layer
virtual void resizeLayer (const VolumeBounds &, double) override final
 Resize the layer to the tracking volume - not implemented.
virtual void resizeAndRepositionLayer (const VolumeBounds &, const Amg::Vector3D &, double) override final
 Resize the layer to the tracking volume - not implemented.
const SurfaceArraysurfaceArray () const
 Return the entire SurfaceArray, returns nullptr if no SurfaceArray.
SurfaceArraysurfaceArray ()
 Return the entire SurfaceArray, returns nullptr if no SurfaceArray.
const SurfacesubSurface (const Amg::Vector3D &gp) const
 If no subSurface array is defined or no subSurface can be found to the given Amg::Vector3D, it would return 0.
const SurfacesubSurface (const Amg::Vector2D &lp) const
 If no subSurface array is defined or no subSurface can be found to the given Amg::Vector2D, it would return 0.
const SurfacesubSurfaceReference (unsigned int idx=0) const
 Return a reference sub surface of the layer, usually the first one in the array.
double thickness () const
 Return the Thickness of the Layer.
template<class T>
bool onLayer (const T &parameters, const BoundaryCheck &bcheck=BoundaryCheck(true)) const
 templated on Layer method
const LayerMaterialPropertieslayerMaterialProperties () const
 getting the LayerMaterialProperties including full/pre/post update
const MaterialPropertiesfullUpdateMaterialProperties (const TrackParameters &par) const
 getting the MaterialProperties back - for full update
const OverlapDescriptoroverlapDescriptor () const
 gettint hte overlap descriptor
const LayerpreviousLayer (bool skipNavLayer=false) const
 getting what's stored to be the previous Layer, boolean to skip navigation layers
void setPreviousLayer (const Layer *)
 set the previous Layer
const LayernextLayer (const Amg::Vector3D &gp, const Amg::Vector3D &udir) const
 getting the next/previous Layer if registered - unit for direction vector required
const LayernextLayer (bool skipNavLayer=false) const
 getting what's stored to be the next Layer, boolean to skip navigation layers
void setNextLayer (const Layer *)
 set the next Layer
const BinUtilitybinUtility () const
 access the BinUtility
void setBinUtility (const BinUtility *)
 set the BinUtility
virtual const SurfacesurfaceOnApproach (const Amg::Vector3D &pos, const Amg::Vector3D &dir, PropDirection pdir, const BoundaryCheck &bcheck, bool resolveSubSurfaces=0, const ICompatibilityEstimator *ice=nullptr) const
 Surface seen on approach - if not defined differently, it is the surfaceRepresentation()
size_t compatibleSurfaces (std::vector< SurfaceIntersection > &cSurfaces, const TrackParameters &pars, PropDirection pdir, const BoundaryCheck &bcheck, bool materialSurfacesOnly=true, const Surface *startSurface=nullptr, const Surface *endSurface=nullptr, const ICompatibilityEstimator *ice=nullptr) const
 get compatible surfaces starting from charged parameters
size_t compatibleSurfaces (std::vector< SurfaceIntersection > &cSurfaces, const NeutralParameters &pars, PropDirection pdir, const BoundaryCheck &bcheck, bool materialSurfacesOnly=true, const Surface *startSurface=nullptr, const Surface *endSurface=nullptr, const ICompatibilityEstimator *ice=nullptr) const
 get compatible surfaces starting from neutral parameters
virtual bool hasSubStructure (bool resolveSensitive=false) const
 Has sub-structure method:
const TrackingVolumeenclosingTrackingVolume () const
 get the confining TrackingVolume
const DetachedTrackingVolumeenclosingDetachedTrackingVolume () const
 get the confining DetachedTrackingVolume
const LayerIndexlayerIndex () const
 get the layerIndex
int layerType () const
 get the Layer coding
void setLayerType (int identifier)
 set the Layer coding
void assignMaterialProperties (const LayerMaterialProperties &, double scale=1.0)
 assignMaterialPropeties
void registerRepresentingVolume (const Volume *theVol)
 register Volume associated to the layer
const VolumerepresentingVolume () const
 get the Volume associated to the layer
void setRef (double)
 set the reference measure
double getRef () const
 get the reference measure
void encloseTrackingVolume (const TrackingVolume &tvol)
 private method to set the enclosed detached TV
void encloseDetachedTrackingVolume (const DetachedTrackingVolume &tvol)
template<class T>
size_t getCompatibleSurfaces (std::vector< SurfaceIntersection > &cSurfaces, const T &pars, PropDirection pdir, const BoundaryCheck &bcheck, bool materialSurfacesOnly=true, const Surface *startSurface=nullptr, const Surface *endSurface=nullptr, const ICompatibilityEstimator *ice=nullptr) const
 get compatible surfaces starting from charged parameters
void compactify (size_t &cSurfaces, size_t &tSurfaces)
 register layer index for material map registration
void registerLayerIndex (const LayerIndex &lIdx)

Protected Attributes

std::unique_ptr< Surfacem_surfaceRepresentation
std::unique_ptr< SurfaceArraym_surfaceArray {}
 MaterialPoperties of this layer Surface.
std::unique_ptr< LayerMaterialPropertiesm_layerMaterialProperties {}
 thickness of the Layer
double m_layerThickness {}
 descriptor for overlap/next surface (owning ptr)
std::unique_ptr< OverlapDescriptorm_overlapDescriptor {}
const Layerm_previousLayer = nullptr
 < the previous Layer according to BinGenUtils
const Layerm_nextLayer = nullptr
 BinUtility for next/previous decision.
const BinUtilitym_binUtility = nullptr
 Enclosing TrackingVolume.
const TrackingVolumem_enclosingTrackingVolume = nullptr
 Enclosing DetachedTrackingVolume.
const DetachedTrackingVolumem_enclosingDetachedTrackingVolume = nullptr
LayerIndex m_index {-1}
 LayerIndex.
int m_layerType {Trk::active}
 active passive layer
double m_ref {}
 reference measure for local coordinate convertors

Detailed Description

Class to be used for gaps in Volumes as a navigational link.

Navigation Layers have a surface representation, but should usually never be propagated to.

The fullfill a faster acess to the nextLayer in the navigation process inside a volume.

Author
Andre.nosp@m.as.S.nosp@m.alzbu.nosp@m.rger.nosp@m.@cern.nosp@m..ch
Christos Anastopoulos (Athena MT modification)

Definition at line 41 of file NavigationLayer.h.

Constructor & Destructor Documentation

◆ NavigationLayer() [1/3]

Trk::NavigationLayer::NavigationLayer ( std::unique_ptr< Surface > surfaceRepresentation)

Constructor.

Definition at line 12 of file NavigationLayer.cxx.

14 : Trk::Layer(),
17 }
int m_layerType
active passive layer
Definition Layer.h:307
virtual const Surface & surfaceRepresentation() const override final
Transforms the layer into a Surface representation for extrapolation.
std::unique_ptr< Surface > m_surfaceRepresentation
@ passive
Definition Layer.h:47

◆ NavigationLayer() [2/3]

Trk::NavigationLayer::NavigationLayer ( std::unique_ptr< Trk::Surface > surfaceRepresentation,
double thickness )

Definition at line 20 of file NavigationLayer.cxx.

22 : Trk::Layer(),
25 }
double m_layerThickness
descriptor for overlap/next surface (owning ptr)
Definition Layer.h:290
double thickness() const
Return the Thickness of the Layer.

◆ NavigationLayer() [3/3]

Trk::NavigationLayer::NavigationLayer ( const NavigationLayer & lay)

Copy Constructor -.

Definition at line 28 of file NavigationLayer.cxx.

29 : Trk::Layer(lay),
30 m_surfaceRepresentation(lay.m_surfaceRepresentation->uniqueClone()) {
33 Trk::Layer::m_binUtility = lay.m_binUtility;
34}
const Layer * m_previousLayer
< the previous Layer according to BinGenUtils
Definition Layer.h:296
const Layer * m_nextLayer
BinUtility for next/previous decision.
Definition Layer.h:298
const BinUtility * m_binUtility
Enclosing TrackingVolume.
Definition Layer.h:300

◆ ~NavigationLayer()

virtual Trk::NavigationLayer::~NavigationLayer ( )
overridevirtualdefault

Destructor.

Member Function Documentation

◆ assignMaterialProperties()

void Trk::Layer::assignMaterialProperties ( const LayerMaterialProperties & prop,
double scale = 1.0 )
inherited

assignMaterialPropeties

Definition at line 177 of file Layer.cxx.

178 {
179 m_layerMaterialProperties.reset(prop.clone());
180 if (scale != 1.0) {
181 (*(m_layerMaterialProperties)) *= scale;
182 }
183}
std::unique_ptr< LayerMaterialProperties > m_layerMaterialProperties
thickness of the Layer
Definition Layer.h:288

◆ binUtility()

const BinUtility * Trk::Layer::binUtility ( ) const
inherited

access the BinUtility

◆ compactify()

void Trk::Layer::compactify ( size_t & cSurfaces,
size_t & tSurfaces )
inherited

register layer index for material map registration

Definition at line 186 of file Layer.cxx.

187{
188 // set the layer surface representation
189 ++tSurfaces;
190 if (surfaceRepresentation().owner() == Trk::noOwn) {
192 ++cSurfaces;
193 }
194 // set the subsurface representation, usually already owned by DetElement
195 if (m_surfaceArray) {
196 std::span<Trk::Surface * const> surfaces = m_surfaceArray->arrayObjects();
197 for (Trk::Surface * const sIter : surfaces) {
198 if (sIter && (*sIter).owner() == Trk::noOwn) {
199 (*sIter).setOwner(Trk::TGOwn);
200 ++cSurfaces;
201 }
202 ++tSurfaces;
203 }
204 }
205}
virtual Surface & surfaceRepresentation()=0
std::unique_ptr< SurfaceArray > m_surfaceArray
MaterialPoperties of this layer Surface.
Definition Layer.h:286
void setOwner(SurfaceOwner x)
set Ownership

◆ compatibleSurfaces() [1/2]

size_t Trk::Layer::compatibleSurfaces ( std::vector< SurfaceIntersection > & cSurfaces,
const NeutralParameters & pars,
PropDirection pdir,
const BoundaryCheck & bcheck,
bool materialSurfacesOnly = true,
const Surface * startSurface = nullptr,
const Surface * endSurface = nullptr,
const ICompatibilityEstimator * ice = nullptr ) const
inherited

get compatible surfaces starting from neutral parameters

◆ compatibleSurfaces() [2/2]

size_t Trk::Layer::compatibleSurfaces ( std::vector< SurfaceIntersection > & cSurfaces,
const TrackParameters & pars,
PropDirection pdir,
const BoundaryCheck & bcheck,
bool materialSurfacesOnly = true,
const Surface * startSurface = nullptr,
const Surface * endSurface = nullptr,
const ICompatibilityEstimator * ice = nullptr ) const
inherited

get compatible surfaces starting from charged parameters

◆ encloseDetachedTrackingVolume()

void Trk::Layer::encloseDetachedTrackingVolume ( const DetachedTrackingVolume & tvol)
inherited

◆ encloseTrackingVolume()

void Trk::Layer::encloseTrackingVolume ( const TrackingVolume & tvol)
inherited

private method to set the enclosed detached TV

◆ enclosingDetachedTrackingVolume()

const DetachedTrackingVolume * Trk::Layer::enclosingDetachedTrackingVolume ( ) const
inherited

get the confining DetachedTrackingVolume

◆ enclosingTrackingVolume()

const TrackingVolume * Trk::Layer::enclosingTrackingVolume ( ) const
inherited

get the confining TrackingVolume

◆ fullUpdateMaterialProperties() [1/2]

const Trk::MaterialProperties * Trk::Layer::fullUpdateMaterialProperties ( const TrackParameters & par) const
inherited

getting the MaterialProperties back - for full update

Definition at line 169 of file Layer.cxx.

170 {
172 return m_layerMaterialProperties->fullMaterial(parm.position());
173 }
174 return nullptr;
175}

◆ fullUpdateMaterialProperties() [2/2]

const MaterialProperties * Trk::NavigationLayer::fullUpdateMaterialProperties ( ) const
inline

getting the MaterialProperties back - for full update

Definition at line 112 of file NavigationLayer.h.

112 {
113 return nullptr;
114}

◆ getCompatibleSurfaces()

template<class T>
size_t Trk::Layer::getCompatibleSurfaces ( std::vector< SurfaceIntersection > & cSurfaces,
const T & pars,
PropDirection pdir,
const BoundaryCheck & bcheck,
bool materialSurfacesOnly = true,
const Surface * startSurface = nullptr,
const Surface * endSurface = nullptr,
const ICompatibilityEstimator * ice = nullptr ) const
inherited

get compatible surfaces starting from charged parameters

propagate TrackingGeometry owner downstream

◆ getRef()

double Trk::Layer::getRef ( ) const
inherited

get the reference measure

◆ hasSubStructure()

bool Trk::Layer::hasSubStructure ( bool resolveSensitive = false) const
virtualinherited

Has sub-structure method:

  • sub-structure depending on : (a) only when required to resolve sub surfaces for sensitive hits (b) also material is ordered with sub structure

Definition at line 238 of file Layer.cxx.

238 {
239 return resolveSensitive && m_surfaceArray;
240}

◆ isOnLayer()

bool Trk::NavigationLayer::isOnLayer ( const Amg::Vector3D & gp,
const BoundaryCheck & bcheck = BoundaryCheck(true) ) const
finaloverridevirtual

isOnLayer() method, using isOnSurface() with Layer specific tolerance

Reimplemented from Trk::Layer.

Definition at line 45 of file NavigationLayer.cxx.

46 {
47 return m_surfaceRepresentation->isOnSurface(gp, bcheck);
48}

◆ layerIndex()

const LayerIndex & Trk::Layer::layerIndex ( ) const
inherited

get the layerIndex

◆ layerMaterialProperties()

const LayerMaterialProperties * Trk::Layer::layerMaterialProperties ( ) const
inherited

getting the LayerMaterialProperties including full/pre/post update

◆ layerType()

int Trk::Layer::layerType ( ) const
inherited

get the Layer coding

◆ moveLayer()

void Trk::NavigationLayer::moveLayer ( Amg::Transform3D & )
inlinefinaloverridevirtual

move the Layer

Implements Trk::Layer.

Definition at line 131 of file NavigationLayer.h.

131{}

◆ nextLayer() [1/2]

const Trk::Layer * Trk::Layer::nextLayer ( bool skipNavLayer = false) const
inherited

getting what's stored to be the next Layer, boolean to skip navigation layers

Definition at line 151 of file Layer.cxx.

151 {
152 if (!skipNavLayer) return m_nextLayer;
153 const Trk::Layer* nextMatLayer = m_nextLayer;
154 // get the next Material layer
155 while (nextMatLayer && !nextMatLayer->layerMaterialProperties() &&
156 !nextMatLayer->surfaceArray())
157 nextMatLayer = nextMatLayer->nextLayer();
158 return nextMatLayer;
159}
const Layer * nextLayer(const Amg::Vector3D &gp, const Amg::Vector3D &udir) const
getting the next/previous Layer if registered - unit for direction vector required
Definition Layer.cxx:161
const SurfaceArray * surfaceArray() const
Return the entire SurfaceArray, returns nullptr if no SurfaceArray.
const LayerMaterialProperties * layerMaterialProperties() const
getting the LayerMaterialProperties including full/pre/post update

◆ nextLayer() [2/2]

const Trk::Layer * Trk::Layer::nextLayer ( const Amg::Vector3D & gp,
const Amg::Vector3D & udir ) const
inherited

getting the next/previous Layer if registered - unit for direction vector required

Definition at line 161 of file Layer.cxx.

162 {
163 // no binutility -> no chance to find out the direction
164 if (!m_binUtility) return nullptr;
165 return (m_binUtility->orderDirection(gp, mom) == Trk::next) ? m_nextLayer
167}
@ next
Definition BinningData.h:33

◆ onLayer()

template<class T>
bool Trk::Layer::onLayer ( const T & parameters,
const BoundaryCheck & bcheck = BoundaryCheck(true) ) const
inherited

templated on Layer method

◆ operator=()

Trk::NavigationLayer & Trk::NavigationLayer::operator= ( const NavigationLayer & lay)

Assignment operator.

Definition at line 36 of file NavigationLayer.cxx.

37 {
38 if (this != &lay) {
40 m_surfaceRepresentation = lay.m_surfaceRepresentation->uniqueClone();
41 }
42 return (*this);
43}
Layer & operator=(const Layer &lay)
Assignment operator for Derived classes.
Definition Layer.cxx:84

◆ overlapDescriptor()

const OverlapDescriptor * Trk::Layer::overlapDescriptor ( ) const
inherited

gettint hte overlap descriptor

◆ overlapSurface()

const Surface * Trk::NavigationLayer::overlapSurface ( const TrackParameters & tp,
const Surface * sf = nullptr ) const
inline

getting the next/overlapping Surface

Definition at line 126 of file NavigationLayer.h.

127 {
128 return nullptr;
129}

◆ postUpdateMaterialFactor()

double Trk::NavigationLayer::postUpdateMaterialFactor ( const Trk::TrackParameters & par,
Trk::PropDirection dir ) const
inlinefinaloverridevirtual

getting the MaterialProperties back - for post-update

Reimplemented from Trk::Layer.

Definition at line 121 of file NavigationLayer.h.

122 {
123 return 0;
124}

◆ preUpdateMaterialFactor()

double Trk::NavigationLayer::preUpdateMaterialFactor ( const Trk::TrackParameters & par,
Trk::PropDirection dir ) const
inlinefinaloverridevirtual

getting the MaterialProperties back - for pre-update

Reimplemented from Trk::Layer.

Definition at line 116 of file NavigationLayer.h.

117 {
118 return 0;
119}

◆ previousLayer()

const Trk::Layer * Trk::Layer::previousLayer ( bool skipNavLayer = false) const
inherited

getting what's stored to be the previous Layer, boolean to skip navigation layers

Definition at line 141 of file Layer.cxx.

141 {
142 if (!skipNavLayer) return m_previousLayer;
143 const Trk::Layer* prevMatLayer = m_previousLayer;
144 // get the previoys Material layer
145 while (prevMatLayer && !prevMatLayer->layerMaterialProperties() &&
146 !prevMatLayer->surfaceArray())
147 prevMatLayer = prevMatLayer->previousLayer();
148 return prevMatLayer;
149}
const Layer * previousLayer(bool skipNavLayer=false) const
getting what's stored to be the previous Layer, boolean to skip navigation layers
Definition Layer.cxx:141

◆ registerLayerIndex()

void Trk::Layer::registerLayerIndex ( const LayerIndex & lIdx)
inherited

◆ registerRepresentingVolume()

void Trk::Layer::registerRepresentingVolume ( const Volume * theVol)
inherited

register Volume associated to the layer

◆ representingVolume()

const Volume * Trk::Layer::representingVolume ( ) const
inherited

get the Volume associated to the layer

◆ resizeAndRepositionLayer()

virtual void Trk::NavigationLayer::resizeAndRepositionLayer ( const VolumeBounds & ,
const Amg::Vector3D & ,
double  )
inlinefinaloverridevirtual

Resize the layer to the tracking volume - not implemented.

Implements Trk::Layer.

Definition at line 91 of file NavigationLayer.h.

93 {}

◆ resizeLayer()

virtual void Trk::NavigationLayer::resizeLayer ( const VolumeBounds & ,
double  )
inlinefinaloverridevirtual

Resize the layer to the tracking volume - not implemented.

Implements Trk::Layer.

Definition at line 88 of file NavigationLayer.h.

88{}

◆ setBinUtility()

void Trk::Layer::setBinUtility ( const BinUtility * )
inherited

set the BinUtility

◆ setLayerType()

void Trk::Layer::setLayerType ( int identifier)
inherited

set the Layer coding

◆ setNextLayer()

void Trk::Layer::setNextLayer ( const Layer * )
inherited

set the next Layer

◆ setPreviousLayer()

void Trk::Layer::setPreviousLayer ( const Layer * )
inherited

set the previous Layer

◆ setRef()

void Trk::Layer::setRef ( double )
inherited

set the reference measure

◆ subSurface() [1/2]

const Trk::Surface * Trk::Layer::subSurface ( const Amg::Vector2D & lp) const
inherited

If no subSurface array is defined or no subSurface can be found to the given Amg::Vector2D, it would return 0.

Definition at line 112 of file Layer.cxx.

112 {
113 if (m_surfaceArray) return m_surfaceArray->object(lp);
114 return nullptr;
115}

◆ subSurface() [2/2]

const Trk::Surface * Trk::Layer::subSurface ( const Amg::Vector3D & gp) const
inherited

If no subSurface array is defined or no subSurface can be found to the given Amg::Vector3D, it would return 0.

Definition at line 107 of file Layer.cxx.

107 {
108 if (m_surfaceArray) return m_surfaceArray->object(gp);
109 return nullptr;
110}

◆ subSurfaceReference()

const Trk::Surface * Trk::Layer::subSurfaceReference ( unsigned int idx = 0) const
inherited

Return a reference sub surface of the layer, usually the first one in the array.

  • if an index is given (and the index is in range), this surface is returned

Definition at line 117 of file Layer.cxx.

117 {
118 // the reference surface
119 const Trk::Surface* referenceSurface = nullptr;
120 if (m_surfaceArray) {
121 // get a reference surface
122 std::span<Trk::Surface const * const> surfaces = std::as_const(*m_surfaceArray).arrayObjects();
123 // get a reference surface
124 unsigned int rfSurfaces = surfaces.size();
125 if (idx && idx < rfSurfaces) return surfaces[idx];
126 // get the first one which is non zero
127 for (unsigned int rsf = 0; rsf < rfSurfaces; ++rsf) {
128 referenceSurface = surfaces[rsf];
129 if (referenceSurface) break;
130 }
131 }
132 return referenceSurface;
133}

◆ surfaceArray() [1/2]

SurfaceArray * Trk::Layer::surfaceArray ( )
inherited

Return the entire SurfaceArray, returns nullptr if no SurfaceArray.

◆ surfaceArray() [2/2]

const SurfaceArray * Trk::Layer::surfaceArray ( ) const
inherited

Return the entire SurfaceArray, returns nullptr if no SurfaceArray.

◆ surfaceOnApproach()

const Trk::Surface & Trk::Layer::surfaceOnApproach ( const Amg::Vector3D & pos,
const Amg::Vector3D & dir,
PropDirection pdir,
const BoundaryCheck & bcheck,
bool resolveSubSurfaces = 0,
const ICompatibilityEstimator * ice = nullptr ) const
virtualinherited

Surface seen on approach - if not defined differently, it is the surfaceRepresentation()

Reimplemented in Trk::CylinderLayer, and Trk::DiscLayer.

Definition at line 209 of file Layer.cxx.

212 {
213 return surfaceRepresentation();
214}

◆ surfaceRepresentation() [1/2]

const Surface & Trk::NavigationLayer::surfaceRepresentation ( ) const
inlinefinaloverridevirtual

Transforms the layer into a Surface representation for extrapolation.

Implements Trk::Layer.

Definition at line 101 of file NavigationLayer.h.

102{
103 return (*m_surfaceRepresentation);
104}

◆ surfaceRepresentation() [2/2]

Surface & Trk::NavigationLayer::surfaceRepresentation ( )
inlinefinaloverridevirtual

Implements Trk::Layer.

Definition at line 107 of file NavigationLayer.h.

108{
109 return (*m_surfaceRepresentation);
110}

◆ thickness()

double Trk::Layer::thickness ( ) const
inherited

Return the Thickness of the Layer.

Member Data Documentation

◆ m_binUtility

const BinUtility* Trk::Layer::m_binUtility = nullptr
protectedinherited

Enclosing TrackingVolume.

Definition at line 300 of file Layer.h.

◆ m_enclosingDetachedTrackingVolume

const DetachedTrackingVolume* Trk::Layer::m_enclosingDetachedTrackingVolume = nullptr
protectedinherited

Definition at line 304 of file Layer.h.

◆ m_enclosingTrackingVolume

const TrackingVolume* Trk::Layer::m_enclosingTrackingVolume = nullptr
protectedinherited

Enclosing DetachedTrackingVolume.

Definition at line 302 of file Layer.h.

◆ m_index

LayerIndex Trk::Layer::m_index {-1}
protectedinherited

LayerIndex.

Definition at line 306 of file Layer.h.

306{-1};

◆ m_layerMaterialProperties

std::unique_ptr<LayerMaterialProperties> Trk::Layer::m_layerMaterialProperties {}
protectedinherited

thickness of the Layer

Definition at line 288 of file Layer.h.

288{};

◆ m_layerThickness

double Trk::Layer::m_layerThickness {}
protectedinherited

descriptor for overlap/next surface (owning ptr)

Definition at line 290 of file Layer.h.

290{};

◆ m_layerType

int Trk::Layer::m_layerType {Trk::active}
protectedinherited

active passive layer

Definition at line 307 of file Layer.h.

307{Trk::active};
@ active
Definition Layer.h:47

◆ m_nextLayer

const Layer* Trk::Layer::m_nextLayer = nullptr
protectedinherited

BinUtility for next/previous decision.

Definition at line 298 of file Layer.h.

◆ m_overlapDescriptor

std::unique_ptr<OverlapDescriptor> Trk::Layer::m_overlapDescriptor {}
protectedinherited

Definition at line 292 of file Layer.h.

292{};

◆ m_previousLayer

const Layer* Trk::Layer::m_previousLayer = nullptr
protectedinherited

< the previous Layer according to BinGenUtils

next Layer according to BinGenUtils

Definition at line 296 of file Layer.h.

◆ m_ref

double Trk::Layer::m_ref {}
protectedinherited

reference measure for local coordinate convertors

Definition at line 308 of file Layer.h.

308{};

◆ m_surfaceArray

std::unique_ptr<SurfaceArray> Trk::Layer::m_surfaceArray {}
protectedinherited

MaterialPoperties of this layer Surface.

Definition at line 286 of file Layer.h.

286{};

◆ m_surfaceRepresentation

std::unique_ptr<Surface> Trk::NavigationLayer::m_surfaceRepresentation
protected

Definition at line 96 of file NavigationLayer.h.


The documentation for this class was generated from the following files: