![]() |
EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/sPHENIX/Core/include/Acts/Geometry/AbstractVolume.hpp>
Inheritance diagram for Acts::AbstractVolume:
Collaboration diagram for Acts::AbstractVolume:Public Member Functions | |
| AbstractVolume (const Transform3D &transform, VolumeBoundsPtr volbounds) | |
| AbstractVolume (const AbstractVolume &vol)=default | |
| AbstractVolume ()=delete | |
| ~AbstractVolume () override=default | |
| AbstractVolume & | operator= (const AbstractVolume &vol)=delete |
| const std::vector < BoundarySurfacePtr > & | boundarySurfaces () const |
Public Member Functions inherited from Acts::Volume | |
| Volume (const Transform3D &transform, VolumeBoundsPtr volbounds) | |
| Volume (const Volume &vol, const Transform3D &shift=Transform3D::Identity()) | |
| Volume ()=delete | |
| virtual | ~Volume ()=default |
| Volume & | operator= (const Volume &vol) |
| const Transform3D & | transform () const |
| Return methods for geometry transform. | |
| const Transform3D & | itransform () const |
| Returns the inverted transform of this volume. | |
| const Vector3D & | center () const |
| returns the center of the volume | |
| const VolumeBounds & | volumeBounds () const |
| returns the volumeBounds() | |
| BoundingBox | boundingBox (const Vector3D &envelope={0, 0, 0}) const |
| const BoundingBox & | orientedBoundingBox () const |
| bool | inside (const Vector3D &gpos, double tol=0.) const |
| Vector3D | binningPosition (const GeometryContext &gctx, BinningValue bValue) const override |
Public Member Functions inherited from Acts::GeometryObject | |
| GeometryObject ()=default | |
| Defaulted construrctor. | |
| GeometryObject (const GeometryObject &)=default | |
| Defaulted copy constructor. | |
| GeometryObject (const GeometryIdentifier &geometryId) | |
| GeometryObject & | operator= (const GeometryObject &geometryId) |
| const GeometryIdentifier & | geometryId () const |
| virtual double | binningPositionValue (const GeometryContext &gctx, BinningValue bValue) const |
| void | assignGeometryId (const GeometryIdentifier &geometryId) |
Private Member Functions | |
| void | createBoundarySurfaces () |
| Private method to create BoundarySurfaces. | |
Private Attributes | |
| std::vector< BoundarySurfacePtr > | m_boundarySurfaces |
| boundary Surfaces for this volume | |
Additional Inherited Members | |
Public Types inherited from Acts::Volume | |
| using | BoundingBox = AxisAlignedBoundingBox< Volume, double, 3 > |
Protected Attributes inherited from Acts::Volume | |
| Transform3D | m_transform |
| Transform3D | m_itransform |
| Vector3D | m_center |
| VolumeBoundsPtr | m_volumeBounds |
| BoundingBox | m_orientedBoundingBox |
AbstractVolume description inside the tracking realm. This is the purely geometrical object volume.
The Acts::AbstractVolume is constructed by giving a pointer to a Transform3D and a pointer to Acts::VolumeBounds, this implies that the ownership of the objects pointed to is passed as well. For memory optimisation, the AbstractVolume can also be constructed with shared_ptr objects.
A Acts::AbstractVolume is at first a collection class of Acts::BoundarySurface, the vector of Acts::BoundarySurface is returned by the Acts::VolumeBounds that carry a decompose method.
Boundary surfaces can be shared between AbstractVolumes to enhance automatic navigation between AbstractVolumes, therefor they are reference counted by a std::shared_ptr holder class.
Definition at line 43 of file AbstractVolume.hpp.
View newest version in sPHENIX GitHub at line 43 of file AbstractVolume.hpp
| Acts::AbstractVolume::AbstractVolume | ( | const Transform3D & | transform, |
| VolumeBoundsPtr | volbounds | ||
| ) |
Constructor with shared Transform3D*, VolumeBounds*
| transform | is the gobal 3d transformation into the volume frame |
| volbounds | is the boundary definition |
|
default |
|
delete |
|
overridedefault |
| const std::vector< Acts::BoundarySurfacePtr > & Acts::AbstractVolume::boundarySurfaces | ( | ) | const |
Method to return the BoundarySurfaces
Definition at line 25 of file AbstractVolume.cpp.
View newest version in sPHENIX GitHub at line 25 of file AbstractVolume.cpp
Referenced by Acts::TrackingVolume::closeGeometry(), Acts::TrackingVolume::compatibleSurfacesFromHierarchy(), and Acts::GeometryView3D::drawVolume().
Here is the caller graph for this function:
|
private |
Private method to create BoundarySurfaces.
Definition at line 29 of file AbstractVolume.cpp.
View newest version in sPHENIX GitHub at line 29 of file AbstractVolume.cpp
References Acts::backward, m_transform(), Acts::VolumeBounds::orientedSurfaces(), and Acts::Volume::volumeBounds().
Here is the call graph for this function:
|
delete |
|
private |
boundary Surfaces for this volume
Definition at line 67 of file AbstractVolume.hpp.
View newest version in sPHENIX GitHub at line 67 of file AbstractVolume.hpp