ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/master/Core/include/Acts/Geometry/AbstractVolume.hpp>
Public Member Functions | |
AbstractVolume (std::shared_ptr< const Transform3D > htrans, VolumeBoundsPtr volbounds) | |
AbstractVolume (const AbstractVolume &vol)=default | |
Copy constructor - defaulted. | |
AbstractVolume ()=delete | |
Default Constructor - deleted. | |
~AbstractVolume () override | |
AbstractVolume & | operator= (const AbstractVolume &vol)=delete |
Assignment operator - deleted. | |
const std::vector < BoundarySurfacePtr > & | boundarySurfaces () const |
Public Member Functions inherited from Acts::Volume | |
Volume () | |
Default constructor. | |
Volume (const std::shared_ptr< const Transform3D > &htrans, VolumeBoundsPtr volbounds) | |
Volume (const Volume &vol, const Transform3D *shift=nullptr) | |
virtual | ~Volume () |
Destructor. | |
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 |
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 GeometryID &geoID) | |
GeometryObject & | operator= (const GeometryObject &geoID) |
const GeometryID & | geoID () const |
virtual double | binningPositionValue (const GeometryContext &gctx, BinningValue bValue) const |
void | assignGeoID (const GeometryID &geoID) |
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 | |
std::shared_ptr< const 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 52 of file AbstractVolume.hpp.
View newest version in sPHENIX GitHub at line 52 of file AbstractVolume.hpp
Acts::AbstractVolume::AbstractVolume | ( | std::shared_ptr< const Transform3D > | htrans, |
VolumeBoundsPtr | volbounds | ||
) |
Constructor with shared Transform3D*, VolumeBounds*
htrans | is the transform 3D the positions the volume in global frame |
volbounds | is the boundary definition |
|
default |
Copy constructor - defaulted.
|
delete |
Default Constructor - deleted.
|
overridedefault |
const std::vector< Acts::BoundarySurfacePtr > & Acts::AbstractVolume::boundarySurfaces | ( | ) | const |
Method to return the BoundarySurfaces
Definition at line 30 of file AbstractVolume.cpp.
View newest version in sPHENIX GitHub at line 30 of file AbstractVolume.cpp
Referenced by Acts::TrackingVolume::closeGeometry(), and Acts::TrackingVolume::compatibleSurfacesFromHierarchy().
|
private |
Private method to create BoundarySurfaces.
Definition at line 34 of file AbstractVolume.cpp.
View newest version in sPHENIX GitHub at line 34 of file AbstractVolume.cpp
References Acts::Surface::Cylinder, Acts::VolumeBounds::decomposeToSurfaces(), and Acts::Volume::volumeBounds().
|
delete |
Assignment operator - deleted.
|
private |
boundary Surfaces for this volume
Definition at line 83 of file AbstractVolume.hpp.
View newest version in sPHENIX GitHub at line 83 of file AbstractVolume.hpp