|
| | MaterialLayer ()=default |
| virtual | ~MaterialLayer ()=default |
| virtual const Surface & | surfaceRepresentation () const override=0 |
| | Transforms the layer into a Surface representation for extrapolation.
|
| 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
|
| virtual void | moveLayer (Amg::Transform3D &) override final |
| | Move the layer - not implemented.
|
| 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 ¶meters, 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
|
| virtual double | preUpdateMaterialFactor (const TrackParameters &, PropDirection) const |
| | getting the MaterialProperties back - for pre-update
|
| virtual double | postUpdateMaterialFactor (const TrackParameters &, PropDirection) const |
| | getting the MaterialProperties back - for pre-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) |
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.