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.
NavigationLayer & operator= (const NavigationLayer &lay)
 Assignment operator.
virtual const Surface & surfaceRepresentation () const override final
 Transforms the layer into a Surface representation for extrapolation.
virtual Surface & surfaceRepresentation () 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 MaterialProperties * fullUpdateMaterialProperties () 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 Surface * overlapSurface (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 SurfaceArray * surfaceArray () const
 Return the entire SurfaceArray, returns nullptr if no SurfaceArray.
SurfaceArray * surfaceArray ()
 Return the entire SurfaceArray, returns nullptr if no SurfaceArray.
const Surface * subSurface (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 Surface * subSurface (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 Surface * subSurfaceReference (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 LayerMaterialProperties * layerMaterialProperties () const
 getting the LayerMaterialProperties including full/pre/post update
const MaterialProperties * fullUpdateMaterialProperties (const TrackParameters &par) const
 getting the MaterialProperties back - for full update
const OverlapDescriptor * overlapDescriptor () const
 gettint hte overlap descriptor
const Layer * previousLayer (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 Layer * nextLayer (const Amg::Vector3D &gp, const Amg::Vector3D &udir) const
 getting the next/previous Layer if registered - unit for direction vector required
const Layer * nextLayer (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 BinUtility * binUtility () const
 access the BinUtility
void setBinUtility (const BinUtility *)
 set the BinUtility
virtual const Surface & surfaceOnApproach (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 TrackingVolume * enclosingTrackingVolume () const
 get the confining TrackingVolume
const DetachedTrackingVolume * enclosingDetachedTrackingVolume () const
 get the confining DetachedTrackingVolume
const LayerIndex & layerIndex () 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 Volume * representingVolume () 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< Surface > m_surfaceRepresentation
std::unique_ptr< SurfaceArray > m_surfaceArray {}
 MaterialPoperties of this layer Surface.
std::unique_ptr< LayerMaterialProperties > m_layerMaterialProperties {}
 thickness of the Layer
double m_layerThickness {}
 descriptor for overlap/next surface (owning ptr)
std::unique_ptr< OverlapDescriptor > m_overlapDescriptor {}
const Layer * m_previousLayer = nullptr
 < the previous Layer according to BinGenUtils
const Layer * m_nextLayer = nullptr
 BinUtility for next/previous decision.
const BinUtility * m_binUtility = nullptr
 Enclosing TrackingVolume.
const TrackingVolume * m_enclosingTrackingVolume = nullptr
 Enclosing DetachedTrackingVolume.
const DetachedTrackingVolume * m_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
@ TGOwn
Definition Surface.h:58
@ noOwn
Definition Surface.h:57

◆ 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:35

◆ 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: