![]() |
ATLAS Offline Software
|
Base Class for a navigation object (active) in the Calo realm. More...
#include <AlignableTrackingVolume.h>
Public Member Functions | |
| AlignableTrackingVolume ()=default | |
| Default Constructor. | |
| virtual | ~AlignableTrackingVolume () override=default |
| AlignableTrackingVolume (std::unique_ptr< Amg::Transform3D > htrans, std::shared_ptr< VolumeBounds > volbounds, const BinnedMaterial &matprop, int sampleID, const std::string &volumeName="undefined") | |
| Constructor. | |
| const TrackingVolume * | alignedTrackingVolume () const |
| returns the alignedTrackingVolume | |
| int | identify () const |
| returns the id | |
| const BinnedMaterial * | binnedMaterial () const |
| access to binned material | |
| virtual bool | isAlignable () const override final |
| const Layer * | associatedLayer (const Amg::Vector3D &gp) const |
| Return the associated Layer. | |
| Layer * | associatedLayer (const Amg::Vector3D &gp) |
| const Layer * | nextLayer (const Amg::Vector3D &gp, const Amg::Vector3D &mom, bool asres=true, bool skipNavLayer=false) const |
| Return the next Layer if existing, NULL if no next layer corresponds. | |
| const Layer * | entryLayer (const Amg::Vector3D &gp, const Amg::Vector3D &dir) const |
| Return the entry Layer to a TrackingVolume depending on the entry point. | |
| const Layer * | exitLayer (const Amg::Vector3D &gp, const Amg::Vector3D &dir) const |
| Return the exit Layer from a TrackingVolume. | |
| template<class T> | |
| std::vector< LayerIntersection< T > > | materialLayersOrdered (const Layer *sLayer, const Layer *eLayer, const T ¶meters, PropDirection pDir=alongMomentum, const BoundaryCheck &bchk=true, bool resolveSubSurfaces=false) const |
| Return the material layers ordered based on straight line intersections: | |
| LayerIntersection< Amg::Vector3D > | closestMaterialLayer (const Amg::Vector3D &gp, const Amg::Vector3D &dir, PropDirection pDir=alongMomentum, const BoundaryCheck &bchk=true) const |
| Return the closest layer with material description. | |
| const TrackingVolume * | associatedSubVolume (const Amg::Vector3D &gp) const |
| Return the associated sub Volume, returns THIS if no subVolume exists. | |
| TrackingVolume * | associatedSubVolume (const Amg::Vector3D &gp) |
| const TrackingVolume * | nextVolume (const Amg::Vector3D &gp, const Amg::Vector3D &dir, PropDirection pDir=alongMomentum) const |
| Return the next volume along the navigation stream. | |
| const TrackingVolume * | nextSubVolume (const Amg::Vector3D &gp, const Amg::Vector3D &dir) const |
| Return the next sub Volume if existing, returns THIS if no subVolume exists. | |
| std::vector< const DetachedTrackingVolume * > | assocDetachedSubVolumes (const Amg::Vector3D &gp, double tol) const |
| Return the associated detached subvolumes. | |
| unsigned int | layerAttempts (BoundarySurfaceFace exitFace) const |
| Layer attempts - as provided by the LayerAttemptCreator. | |
| unsigned int | maxLayerAttempts () const |
| Layer attempts - as provided by the LayerAttemptCreator. | |
| const LayerArray * | confinedLayers () const |
| Return the subLayer array. | |
| LayerArray * | confinedLayers () |
| Return the subLayer array. | |
| ArraySpan< Layer const *const > | confinedArbitraryLayers () const |
| Return the confined subLayer array. | |
| ArraySpan< Layer *const > | confinedArbitraryLayers () |
| Return the confined subLayer array. | |
| const LayerArray * | checkoutConfinedLayers () const |
| Return the subLayerarray including the ownership. | |
| const TrackingVolumeArray * | confinedVolumes () const |
| Return the subLayer array. | |
| TrackingVolumeArray * | confinedVolumes () |
| Return the subLayer array. | |
| ArraySpan< DetachedTrackingVolume const *const > | confinedDetachedVolumes () const |
| Return detached subVolumes - not the ownership. | |
| ArraySpan< DetachedTrackingVolume *const > | confinedDetachedVolumes () |
| ArraySpan< TrackingVolume const *const > | confinedDenseVolumes () const |
| Return unordered subVolumes - not the ownership. | |
| ArraySpan< TrackingVolume *const > | confinedDenseVolumes () |
| const std::string & | volumeName () const |
| Returns the VolumeName - for debug reason, might be depreciated later. | |
| std::vector< std::shared_ptr< BoundarySurface< TrackingVolume > > > & | boundarySurfaces () |
| Method to return the BoundarySurfaces. | |
| ConstSharedPtrSpan< BoundarySurface< TrackingVolume > > | boundarySurfaces () const |
| template<class T> | |
| std::vector< BoundaryIntersection< T > > | boundarySurfacesOrdered (const T ¶meters, PropDirection pDir=alongMomentum, bool startOffBoundary=false) const |
| Returns the boundary surfaces ordered in probability to hit them based on straight line intersection. | |
| const BoundarySurface< TrackingVolume > * | boundarySurface (const ObjectAccessor::value_type &oa) const |
| Get the BoundarySurface to the appointed Accessor state. | |
| template<class T> | |
| bool | onVolumeBoundary (const T &pars) const |
| show if you are on a boundary surface | |
| void | registerOutsideGlueVolumes (GlueVolumesDescriptor *gvd) |
| Register the outside glue volumes - ordering is in the TrackingVolume Frame: | |
| GlueVolumesDescriptor & | glueVolumesDescriptor () |
| const GlueVolumesDescriptor & | glueVolumesDescriptor () const |
| void | sign (GeometrySignature signat, GeometryType gtype=Static) |
| sign the volume - the geometry builder has to do that | |
| GeometrySignature | geometrySignature () const |
| return the Signature | |
| GeometryType | geometryType () const |
| return the Signature | |
| void | registerColorCode (unsigned int icolor) |
| Register the color code. | |
| unsigned int | colorCode () const |
| Get the color code. | |
| const TrackingVolume * | getMotherVolume () const |
| Return the MotherVolume - if it exists. | |
| void | setMotherVolume (const TrackingVolume *mvol) |
| set the MotherVolume | |
| void | moveVolume (Amg::Transform3D &shift) |
| move Volume | |
| void | addMaterial (const Material &mat, float fact=1.) |
| add Material | |
| void | screenDump (MsgStream &msg) const |
| virtual Volume * | clone () const |
| polymorpic deep copy | |
| const Amg::Transform3D & | transform () const |
| Return methods for geometry transform. | |
| const Amg::Vector3D & | center () const |
| returns the center of the volume | |
| const VolumeBounds & | volumeBounds () const |
| returns the volumeBounds() | |
| VolumeBounds & | volumeBounds () |
| bool | inside (const Amg::Vector3D &gp, double tol=0.) const |
| Inside() method for checks. | |
| ObjectAccessor | boundarySurfaceAccessor (const Amg::Vector3D &gp, const Amg::Vector3D &mom, bool forceInside=false) const |
| Provide accessor for BoundarySurfaces. | |
| std::unique_ptr< Material > | scale (float sf) const |
| scaling method | |
| float | zOverAtimesRho () const |
| access to members | |
| float | x0 () const |
| float | averageZ () const |
| std::string | toString () const |
| spit out as a string | |
Public Attributes | |
| float | X0 |
| float | L0 |
| float | A |
| float | Z |
| float | rho |
| float | dEdX |
| float | zOaTr |
| MaterialComposition * | composition |
Protected Attributes | |
| std::unique_ptr< Amg::Transform3D > | m_transform = nullptr |
| Transform3D (optional) | |
| Amg::Vector3D | m_center = Trk::s_origin |
| center position of the surface | |
| std::shared_ptr< VolumeBounds > | m_volumeBounds = nullptr |
| the volumeBounds | |
Private Member Functions | |
| void | indexContainedStaticLayers (GeometrySignature geoSig, int &offset) |
| reIndex the static layers of the TrackingVolume | |
| void | indexContainedMaterialLayers (GeometrySignature geoSig, int &offset) |
| reIndex the material layers of the TrackingVolume | |
| void | createBoundarySurfaces () |
| Create Boundary Surface. | |
| void | createLayerAttemptsCalculator () |
| Create Layer Attempts Caluclator. | |
| void | compactify (size_t &rSurfaces, size_t &tSurfaces) |
| compactify the memory usage in the event by setting ownership to TackingGeometry the referenced types are the number of registered surfaces & total surfaces | |
| void | synchronizeLayers (MsgStream &msgstream, double envelope=1.) |
| method to synchronize the layers with potentially updated volume bounds: | |
| void | interlinkLayers () |
| Register Next - Previous for Layers, set volumelink. | |
| void | moveTV (Amg::Transform3D &transform) |
| move the Tracking Volume | |
Static Private Member Functions | |
| static const Layer * | closest (const Amg::Vector3D &pos, const Amg::Vector3D &dir, const Layer &first, const Layer &second) |
| Helper method - find closest of two layers. | |
Private Attributes | |
| std::unique_ptr< Amg::Transform3D > | m_alignment = nullptr |
| const BinnedMaterial | m_binnedMaterial {} |
| int | m_sampleID {} |
| const TrackingVolume * | m_motherVolume {nullptr} |
| boundary Surfaces, they can be shared between volumes | |
| std::vector< std::shared_ptr< BoundarySurface< TrackingVolume > > > | m_boundarySurfaces {nullptr} |
| std::unique_ptr< LayerArray > | m_confinedLayers {nullptr} |
| Array of Volumes inside the Volume. | |
| std::unique_ptr< TrackingVolumeArray > | m_confinedVolumes {nullptr} |
| Detached subvolumes. | |
| std::unique_ptr< const std::vector< DetachedTrackingVolume * > > | m_confinedDetachedVolumes {nullptr} |
| Additionally, Unordered subvolumes (we own the elements) | |
| std::unique_ptr< const std::vector< TrackingVolume * > > | m_confinedDenseVolumes {nullptr} |
| Additionally, Unordered Layers inside the Volume (we own the elements) | |
| std::unique_ptr< const std::vector< Layer * > > | m_confinedArbitraryLayers {nullptr} |
| CxxUtils::CachedUniquePtrT< GlueVolumesDescriptor > | m_outsideGlueVolumes {nullptr} |
| provided the number of layer attempts | |
| std::unique_ptr< LayerAttemptsCalculator > | m_layerAttemptsCalculator {nullptr} |
| defines how the Extrapolator propagates through this | |
| GeometryType | m_geometryType {Trk::NumberOfGeometryTypes} |
| The Signature done by the GeometryBuilder. | |
| GeometrySignature | m_geometrySignature {Trk::Unsigned} |
| std::string | m_name {"undefined"} |
| Volume name for debug reasons. | |
| unsigned int | m_colorCode {20} |
| Color code for displaying. | |
Base Class for a navigation object (active) in the Calo realm.
Takes BinnedMaterial as an argument ( can be dummy )
Definition at line 36 of file AlignableTrackingVolume.h.
|
default |
Default Constructor.
|
overridevirtualdefault |
| Trk::AlignableTrackingVolume::AlignableTrackingVolume | ( | std::unique_ptr< Amg::Transform3D > | htrans, |
| std::shared_ptr< VolumeBounds > | volbounds, | ||
| const BinnedMaterial & | matprop, | ||
| int | sampleID, | ||
| const std::string & | volumeName = "undefined" ) |
Constructor.
Definition at line 15 of file AlignableTrackingVolume.cxx.
|
inherited |
add Material
Definition at line 736 of file TrackingVolume.cxx.
| const TrackingVolume * Trk::AlignableTrackingVolume::alignedTrackingVolume | ( | ) | const |
returns the alignedTrackingVolume
|
inherited |
Return the associated detached subvolumes.
Definition at line 624 of file TrackingVolume.cxx.
|
inherited |
Definition at line 400 of file TrackingVolume.cxx.
|
inherited |
Return the associated Layer.
Definition at line 382 of file TrackingVolume.cxx.
|
inherited |
Definition at line 556 of file TrackingVolume.cxx.
|
inherited |
Return the associated sub Volume, returns THIS if no subVolume exists.
Definition at line 530 of file TrackingVolume.cxx.
|
inlineinherited |
Definition at line 228 of file Material.h.
|
inline |
access to binned material
Definition at line 68 of file AlignableTrackingVolume.h.
|
inherited |
Get the BoundarySurface to the appointed Accessor state.
Definition at line 822 of file TrackingVolume.cxx.
|
inherited |
Provide accessor for BoundarySurfaces.
Definition at line 82 of file Volume.cxx.
|
inherited |
Method to return the BoundarySurfaces.
Definition at line 809 of file TrackingVolume.cxx.
|
inherited |
Definition at line 815 of file TrackingVolume.cxx.
|
inherited |
Returns the boundary surfaces ordered in probability to hit them based on straight line intersection.
|
inlineinherited |
|
inherited |
Return the subLayerarray including the ownership.
Definition at line 1003 of file TrackingVolume.cxx.
|
virtualinherited |
polymorpic deep copy
Definition at line 60 of file Volume.cxx.
|
staticprivateinherited |
Helper method - find closest of two layers.
Definition at line 1046 of file TrackingVolume.cxx.
|
inherited |
Return the closest layer with material description.
Definition at line 445 of file TrackingVolume.cxx.
|
inherited |
Get the color code.
|
privateinherited |
compactify the memory usage in the event by setting ownership to TackingGeometry the referenced types are the number of registered surfaces & total surfaces
Definition at line 1131 of file TrackingVolume.cxx.
Return the confined subLayer array.
Layers are not const
Return the confined subLayer array.
|
inherited |
|
inherited |
Return unordered subVolumes - not the ownership.
|
inherited |
|
inherited |
Return detached subVolumes - not the ownership.
|
inherited |
Return the subLayer array.
|
inherited |
Return the subLayer array.
|
inherited |
Return the subLayer array.
|
inherited |
Return the subLayer array.
|
privateinherited |
Create Boundary Surface.
Definition at line 828 of file TrackingVolume.cxx.
|
privateinherited |
Create Layer Attempts Caluclator.
Definition at line 950 of file TrackingVolume.cxx.
|
inherited |
Return the entry Layer to a TrackingVolume depending on the entry point.
|
inherited |
Return the exit Layer from a TrackingVolume.
|
inherited |
return the Signature
|
inherited |
return the Signature
|
inherited |
Return the MotherVolume - if it exists.
|
inherited |
Definition at line 1016 of file TrackingVolume.cxx.
|
inherited |
Definition at line 1025 of file TrackingVolume.cxx.
|
inline |
returns the id
Definition at line 64 of file AlignableTrackingVolume.h.
|
privateinherited |
reIndex the material layers of the TrackingVolume
Definition at line 689 of file TrackingVolume.cxx.
|
privateinherited |
reIndex the static layers of the TrackingVolume
Definition at line 642 of file TrackingVolume.cxx.
|
inherited |
|
privateinherited |
Register Next - Previous for Layers, set volumelink.
Definition at line 967 of file TrackingVolume.cxx.
|
inlinefinaloverridevirtual |
Reimplemented from Trk::TrackingVolume.
Definition at line 72 of file AlignableTrackingVolume.h.
|
inherited |
Layer attempts - as provided by the LayerAttemptCreator.
|
inherited |
Return the material layers ordered based on straight line intersections:
|
inherited |
Layer attempts - as provided by the LayerAttemptCreator.
|
privateinherited |
Definition at line 1063 of file TrackingVolume.cxx.
|
inherited |
move Volume
Definition at line 1034 of file TrackingVolume.cxx.
|
inherited |
Return the next Layer if existing, NULL if no next layer corresponds.
Definition at line 418 of file TrackingVolume.cxx.
|
inherited |
Return the next sub Volume if existing, returns THIS if no subVolume exists.
Definition at line 614 of file TrackingVolume.cxx.
|
inherited |
Return the next volume along the navigation stream.
Definition at line 583 of file TrackingVolume.cxx.
|
inherited |
show if you are on a boundary surface
|
inherited |
Register the color code.
|
inherited |
Register the outside glue volumes - ordering is in the TrackingVolume Frame:
Definition at line 1010 of file TrackingVolume.cxx.
|
inlineinherited |
scaling method
Definition at line 240 of file Material.h.
|
inherited |
Definition at line 1185 of file TrackingVolume.cxx.
|
inherited |
set the MotherVolume
|
inherited |
sign the volume - the geometry builder has to do that
Definition at line 766 of file TrackingVolume.cxx.
|
privateinherited |
method to synchronize the layers with potentially updated volume bounds:
Definition at line 1103 of file TrackingVolume.cxx.
|
inlineinherited |
|
inlineinherited |
Return methods for geometry transform.
Definition at line 83 of file Volume.h.
|
inlineinherited |
|
inlineinherited |
returns the volumeBounds()
|
inherited |
Returns the VolumeName - for debug reason, might be depreciated later.
|
inlineinherited |
Definition at line 227 of file Material.h.
|
inlineinherited |
|
inherited |
Definition at line 122 of file Material.h.
|
inherited |
Definition at line 127 of file Material.h.
|
inherited |
Definition at line 125 of file Material.h.
|
inherited |
Definition at line 121 of file Material.h.
|
private |
Definition at line 59 of file AlignableTrackingVolume.h.
|
private |
Definition at line 60 of file AlignableTrackingVolume.h.
|
privateinherited |
Definition at line 438 of file TrackingVolume.h.
|
protectedinherited |
|
privateinherited |
|
privateinherited |
Definition at line 448 of file TrackingVolume.h.
|
privateinherited |
Additionally, Unordered Layers inside the Volume (we own the elements)
Definition at line 446 of file TrackingVolume.h.
|
privateinherited |
Additionally, Unordered subvolumes (we own the elements)
Definition at line 444 of file TrackingVolume.h.
|
privateinherited |
|
privateinherited |
Detached subvolumes.
Note that we do not own the volumes/elements
Definition at line 442 of file TrackingVolume.h.
|
privateinherited |
Definition at line 456 of file TrackingVolume.h.
|
privateinherited |
|
privateinherited |
defines how the Extrapolator propagates through this
Definition at line 452 of file TrackingVolume.h.
|
privateinherited |
boundary Surfaces, they can be shared between volumes
Definition at line 436 of file TrackingVolume.h.
|
privateinherited |
|
privateinherited |
provided the number of layer attempts
Definition at line 450 of file TrackingVolume.h.
|
private |
Definition at line 61 of file AlignableTrackingVolume.h.
|
protectedinherited |
Transform3D (optional)
|
protectedinherited |
|
inherited |
Definition at line 124 of file Material.h.
|
inherited |
Definition at line 120 of file Material.h.
|
inherited |
Definition at line 123 of file Material.h.
|
inherited |
Definition at line 126 of file Material.h.