ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::AbstractVolume Class Reference

#include <acts/blob/master/Core/include/Acts/Geometry/AbstractVolume.hpp>

+ Inheritance diagram for Acts::AbstractVolume:
+ Collaboration diagram for Acts::AbstractVolume:

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
 
AbstractVolumeoperator= (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.
 
Volumeoperator= (const Volume &vol)
 
const Transform3Dtransform () const
 Return methods for geometry transform.
 
const Transform3Ditransform () const
 Returns the inverted transform of this volume.
 
const Vector3Dcenter () const
 returns the center of the volume
 
const VolumeBoundsvolumeBounds () const
 returns the volumeBounds()
 
BoundingBox boundingBox (const Vector3D &envelope={0, 0, 0}) const
 
const BoundingBoxorientedBoundingBox () 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)
 
GeometryObjectoperator= (const GeometryObject &geoID)
 
const GeometryIDgeoID () 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< BoundarySurfacePtrm_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
 

Detailed Description

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.

VolumeShapes.gif

Definition at line 52 of file AbstractVolume.hpp.

View newest version in sPHENIX GitHub at line 52 of file AbstractVolume.hpp

Constructor & Destructor Documentation

Acts::AbstractVolume::AbstractVolume ( std::shared_ptr< const Transform3D htrans,
VolumeBoundsPtr  volbounds 
)

Constructor with shared Transform3D*, VolumeBounds*

Parameters
htransis the transform 3D the positions the volume in global frame
volboundsis the boundary definition
Acts::AbstractVolume::AbstractVolume ( const AbstractVolume vol)
default

Copy constructor - defaulted.

Acts::AbstractVolume::AbstractVolume ( )
delete

Default Constructor - deleted.

Acts::AbstractVolume::~AbstractVolume ( )
overridedefault

Member Function Documentation

const std::vector< Acts::BoundarySurfacePtr > & Acts::AbstractVolume::boundarySurfaces ( ) const

Method to return the BoundarySurfaces

Returns
the vector of boundary surfaces

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().

+ Here is the caller graph for this function:

void Acts::AbstractVolume::createBoundarySurfaces ( )
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().

+ Here is the call graph for this function:

AbstractVolume& Acts::AbstractVolume::operator= ( const AbstractVolume vol)
delete

Assignment operator - deleted.

Member Data Documentation

std::vector<BoundarySurfacePtr> Acts::AbstractVolume::m_boundarySurfaces
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


The documentation for this class was generated from the following files: