Analysis Software
Documentation for sPHENIX simulation software
|
#include <acts/blob/sPHENIX/Core/include/Acts/Geometry/AbstractVolume.hpp>
Public Member Functions | |
AbstractVolume (const Transform3 &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 Transform3 &transform, VolumeBoundsPtr volbounds) | |
Volume (const Volume &vol, const Transform3 &shift=Transform3::Identity()) | |
Volume ()=delete | |
virtual | ~Volume ()=default |
Volume & | operator= (const Volume &vol) |
const Transform3 & | transform () const |
Return methods for geometry transform. | |
const Transform3 & | itransform () const |
Returns the inverted transform of this volume. | |
const Vector3 & | center () const |
returns the center of the volume | |
const VolumeBounds & | volumeBounds () const |
returns the volumeBounds() | |
BoundingBox | boundingBox (const Vector3 &envelope={0, 0, 0}) const |
const BoundingBox & | orientedBoundingBox () const |
bool | inside (const Vector3 &gpos, double tol=0.) const |
Vector3 | binningPosition (const GeometryContext &gctx, BinningValue bValue) const override |
Public Member Functions inherited from Acts::GeometryObject | |
GeometryObject ()=default | |
Defaulted constructor. | |
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, ActsScalar, 3 > |
Protected Attributes inherited from Acts::Volume | |
Transform3 | m_transform |
Transform3 | m_itransform |
Vector3 | 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 Transform3 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, therefore they are reference counted by a std::shared_ptr holder class.
Definition at line 49 of file AbstractVolume.hpp.
View newest version in sPHENIX GitHub at line 49 of file AbstractVolume.hpp
Acts::AbstractVolume::AbstractVolume | ( | const Transform3 & | transform, |
VolumeBoundsPtr | volbounds | ||
) |
Constructor with shared Transform3*, VolumeBounds*
transform | is the global 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 24 of file AbstractVolume.cpp.
View newest version in sPHENIX GitHub at line 24 of file AbstractVolume.cpp
Referenced by Acts::TrackingVolume::closeGeometry(), Acts::TrackingVolume::compatibleSurfacesFromHierarchy(), and Acts::GeometryView3D::drawVolume().
|
private |
Private method to create BoundarySurfaces.
Definition at line 28 of file AbstractVolume.cpp.
View newest version in sPHENIX GitHub at line 28 of file AbstractVolume.cpp
References m_transform(), testing::internal::move(), Acts::Direction::Negative, Acts::VolumeBounds::orientedSurfaces(), and Acts::Volume::volumeBounds().
|
delete |
|
private |
boundary Surfaces for this volume
Definition at line 73 of file AbstractVolume.hpp.
View newest version in sPHENIX GitHub at line 73 of file AbstractVolume.hpp