Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Member Functions | Protected Attributes | List of all members
Trk::MaterialLayer Class Referenceabstract

#include <MaterialLayer.h>

Inheritance diagram for Trk::MaterialLayer:
Collaboration diagram for Trk::MaterialLayer:

Public Member Functions

 MaterialLayer ()=default
 
virtual ~MaterialLayer ()=default
 
virtual const SurfacesurfaceRepresentation () const override=0
 Transforms the layer into a Surface representation for extrapolation. More...
 
virtual SurfacesurfaceRepresentation () override=0
 
virtual bool isOnLayer (const Amg::Vector3D &gp, const BoundaryCheck &bcheck=BoundaryCheck(true)) const override=0
 isOnLayer() method, using isOnSurface() with Layer specific tolerance More...
 
virtual void moveLayer (Amg::Transform3D &) override final
 Move the layer - not implemented. More...
 
virtual void resizeLayer (const VolumeBounds &, double) override final
 Resize the layer to the tracking volume - not implemented. More...
 
virtual void resizeAndRepositionLayer (const VolumeBounds &, const Amg::Vector3D &, double) override final
 Resize the layer to the tracking volume - not implemented. More...
 
const SurfaceArraysurfaceArray () const
 Return the entire SurfaceArray, returns nullptr if no SurfaceArray. More...
 
SurfaceArraysurfaceArray ()
 Return the entire SurfaceArray, returns nullptr if no SurfaceArray. More...
 
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. More...
 
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. More...
 
const SurfacesubSurfaceReference (unsigned int idx=0) const
 Return a reference sub surface of the layer, usually the first one in the array. More...
 
double thickness () const
 Return the Thickness of the Layer. More...
 
template<class T >
bool onLayer (const T &parameters, const BoundaryCheck &bcheck=BoundaryCheck(true)) const
 templated on Layer method More...
 
const LayerMaterialPropertieslayerMaterialProperties () const
 getting the LayerMaterialProperties including full/pre/post update More...
 
const MaterialPropertiesfullUpdateMaterialProperties (const TrackParameters &par) const
 getting the MaterialProperties back - for full update More...
 
virtual double preUpdateMaterialFactor (const TrackParameters &, PropDirection) const
 getting the MaterialProperties back - for pre-update More...
 
virtual double postUpdateMaterialFactor (const TrackParameters &, PropDirection) const
 getting the MaterialProperties back - for pre-update More...
 
const OverlapDescriptoroverlapDescriptor () const
 gettint hte overlap descriptor More...
 
const LayerpreviousLayer (bool skipNavLayer=false) const
 getting what's stored to be the previous Layer, boolean to skip navigation layers More...
 
void setPreviousLayer (const Layer *)
 set the previous Layer More...
 
const LayernextLayer (const Amg::Vector3D &gp, const Amg::Vector3D &udir) const
 getting the next/previous Layer if registered - unit for direction vector required More...
 
const LayernextLayer (bool skipNavLayer=false) const
 getting what's stored to be the next Layer, boolean to skip navigation layers More...
 
void setNextLayer (const Layer *)
 set the next Layer More...
 
const BinUtilitybinUtility () const
 access the BinUtility More...
 
void setBinUtility (const BinUtility *)
 set the BinUtility More...
 
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() More...
 
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 More...
 
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 More...
 
virtual bool hasSubStructure (bool resolveSensitive=false) const
 Has sub-structure method: More...
 
const TrackingVolumeenclosingTrackingVolume () const
 get the confining TrackingVolume More...
 
const DetachedTrackingVolumeenclosingDetachedTrackingVolume () const
 get the confining DetachedTrackingVolume More...
 
const LayerIndexlayerIndex () const
 get the layerIndex More...
 
int layerType () const
 get the Layer coding More...
 
void setLayerType (int identifier)
 set the Layer coding More...
 
void assignMaterialProperties (const LayerMaterialProperties &, double scale=1.0)
 assignMaterialPropeties More...
 
void registerRepresentingVolume (const Volume *theVol)
 register Volume associated to the layer More...
 
const VolumerepresentingVolume () const
 get the Volume associated to the layer More...
 
void setRef (double)
 set the reference measure More...
 
double getRef () const
 get the reference measure More...
 
void encloseTrackingVolume (const TrackingVolume &tvol)
 private method to set the enclosed detached TV More...
 
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 More...
 
void compactify (size_t &cSurfaces, size_t &tSurfaces)
 register layer index for material map registration More...
 
void registerLayerIndex (const LayerIndex &lIdx)
 

Protected Attributes

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

Detailed Description

A material layer is a simple helper class to attach material information to a boundary surface. There is a complication as they are two use cases

1) We attach the material layer to an existing surface via setMaterialLayer in this case the material layer should NOT own the surface. 2) We constuct a material layer with some surface representation. In which case it owns it

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

Definition at line 42 of file MaterialLayer.h.

Constructor & Destructor Documentation

◆ MaterialLayer()

Trk::MaterialLayer::MaterialLayer ( )
default

◆ ~MaterialLayer()

virtual Trk::MaterialLayer::~MaterialLayer ( )
virtualdefault

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) {
182  }
183 }

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

◆ 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()

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 }

◆ 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()

virtual bool Trk::MaterialLayer::isOnLayer ( const Amg::Vector3D gp,
const BoundaryCheck bcheck = BoundaryCheck(true) 
) const
overridepure virtual

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

Reimplemented from Trk::Layer.

Implemented in Trk::MaterialLayerNoOwnSurf, and Trk::MaterialLayerOwnSurf.

◆ 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()

virtual void Trk::MaterialLayer::moveLayer ( Amg::Transform3D )
inlinefinaloverridevirtual

Move the layer - not implemented.

Implements Trk::Layer.

Definition at line 56 of file MaterialLayer.h.

56 {};

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

◆ 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;
166  : m_previousLayer;
167 }

◆ onLayer()

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

templated on Layer method

◆ overlapDescriptor()

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

gettint hte overlap descriptor

◆ postUpdateMaterialFactor()

virtual double Trk::Layer::postUpdateMaterialFactor ( const TrackParameters ,
PropDirection   
) const
inlinevirtualinherited

getting the MaterialProperties back - for pre-update

Reimplemented in Trk::CylinderLayer, Trk::DiscLayer, Trk::ConeLayer, Trk::PlaneLayer, Trk::NavigationLayer, Trk::SubtractedCylinderLayer, and Trk::SubtractedPlaneLayer.

Definition at line 150 of file Layer.h.

151  {
152  return 0.;
153  }

◆ preUpdateMaterialFactor()

virtual double Trk::Layer::preUpdateMaterialFactor ( const TrackParameters ,
PropDirection   
) const
inlinevirtualinherited

getting the MaterialProperties back - for pre-update

Reimplemented in Trk::CylinderLayer, Trk::DiscLayer, Trk::ConeLayer, Trk::PlaneLayer, Trk::NavigationLayer, Trk::SubtractedCylinderLayer, and Trk::SubtractedPlaneLayer.

Definition at line 144 of file Layer.h.

145  {
146  return 1.;
147  }

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

◆ 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::MaterialLayer::resizeAndRepositionLayer ( const VolumeBounds ,
const Amg::Vector3D ,
double   
)
inlinefinaloverridevirtual

Resize the layer to the tracking volume - not implemented.

Implements Trk::Layer.

Definition at line 60 of file MaterialLayer.h.

62  {}

◆ resizeLayer()

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

Resize the layer to the tracking volume - not implemented.

Implements Trk::Layer.

Definition at line 58 of file MaterialLayer.h.

58 {}

◆ 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::DiscLayer, and Trk::CylinderLayer.

Definition at line 209 of file Layer.cxx.

212  {
213  return surfaceRepresentation();
214 }

◆ surfaceRepresentation() [1/2]

virtual const Surface& Trk::MaterialLayer::surfaceRepresentation ( ) const
overridepure virtual

Transforms the layer into a Surface representation for extrapolation.

Implements Trk::Layer.

Implemented in Trk::MaterialLayerNoOwnSurf, and Trk::MaterialLayerOwnSurf.

◆ surfaceRepresentation() [2/2]

virtual Surface& Trk::MaterialLayer::surfaceRepresentation ( )
overridepure virtual

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

◆ m_layerMaterialProperties

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

thickness of the Layer

Definition at line 288 of file Layer.h.

◆ m_layerThickness

double Trk::Layer::m_layerThickness {}
protectedinherited

descriptor for overlap/next surface (owning ptr)

Definition at line 290 of file Layer.h.

◆ m_layerType

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

active passive layer

Definition at line 307 of file Layer.h.

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

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

◆ m_surfaceArray

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

MaterialPoperties of this layer Surface.

Definition at line 286 of file Layer.h.


The documentation for this class was generated from the following file:
Trk::BinUtility::orderDirection
LayerOrder orderDirection(const Amg::Vector3D &position, const Amg::Vector3D &direction, size_t ba=0) const
Return the oder direciton for fast interlinking.
Definition: BinUtility.h:165
Trk::Layer::m_previousLayer
const Layer * m_previousLayer
< the previous Layer according to BinGenUtils
Definition: Layer.h:296
Trk::Surface::setOwner
void setOwner(SurfaceOwner x)
set Ownership
Trk::noOwn
@ noOwn
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:57
Trk::next
@ next
Definition: BinningData.h:33
Trk::Layer::m_layerMaterialProperties
std::unique_ptr< LayerMaterialProperties > m_layerMaterialProperties
thickness of the Layer
Definition: Layer.h:288
Trk::Layer::m_surfaceArray
std::unique_ptr< SurfaceArray > m_surfaceArray
MaterialPoperties of this layer Surface.
Definition: Layer.h:286
yodamerge_tmp.scale
scale
Definition: yodamerge_tmp.py:138
Trk::Layer::surfaceArray
const SurfaceArray * surfaceArray() const
Return the entire SurfaceArray, returns nullptr if no SurfaceArray.
ParticleGun_EoverP_Config.mom
mom
Definition: ParticleGun_EoverP_Config.py:63
Trk::Layer::surfaceRepresentation
virtual const Surface & surfaceRepresentation() const =0
Transforms the layer into a Surface representation for extrapolation.
Trk::Layer::nextLayer
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
Trk::TGOwn
@ TGOwn
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:58
Trk::Layer::m_nextLayer
const Layer * m_nextLayer
BinUtility for next/previous decision.
Definition: Layer.h:298
Trk::Layer::m_binUtility
const BinUtility * m_binUtility
Enclosing TrackingVolume.
Definition: Layer.h:300
Trk::Layer::previousLayer
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
Trk::Layer::layerMaterialProperties
const LayerMaterialProperties * layerMaterialProperties() const
getting the LayerMaterialProperties including full/pre/post update
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:79
Trk::Layer
Definition: Layer.h:72