|
| MaterialLayer ()=default |
|
virtual | ~MaterialLayer ()=default |
|
virtual const Surface & | surfaceRepresentation () const override=0 |
| Transforms the layer into a Surface representation for extrapolation. More...
|
|
virtual Surface & | surfaceRepresentation () 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 SurfaceArray * | surfaceArray () const |
| Return the entire SurfaceArray, returns nullptr if no SurfaceArray. More...
|
|
SurfaceArray * | surfaceArray () |
| Return the entire SurfaceArray, returns nullptr if no SurfaceArray. More...
|
|
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. More...
|
|
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. More...
|
|
const Surface * | subSurfaceReference (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 ¶meters, const BoundaryCheck &bcheck=BoundaryCheck(true)) const |
| templated on Layer method More...
|
|
const LayerMaterialProperties * | layerMaterialProperties () const |
| getting the LayerMaterialProperties including full/pre/post update More...
|
|
const MaterialProperties * | fullUpdateMaterialProperties (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 OverlapDescriptor * | overlapDescriptor () const |
| gettint hte overlap descriptor More...
|
|
const Layer * | previousLayer (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 Layer * | nextLayer (const Amg::Vector3D &gp, const Amg::Vector3D &udir) const |
| getting the next/previous Layer if registered - unit for direction vector required More...
|
|
const Layer * | nextLayer (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 BinUtility * | binUtility () const |
| access the BinUtility More...
|
|
void | setBinUtility (const BinUtility *) |
| set the BinUtility More...
|
|
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() 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 TrackingVolume * | enclosingTrackingVolume () const |
| get the confining TrackingVolume More...
|
|
const DetachedTrackingVolume * | enclosingDetachedTrackingVolume () const |
| get the confining DetachedTrackingVolume More...
|
|
const LayerIndex & | layerIndex () 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 Volume * | representingVolume () 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) |
|
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.