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

#include <acts/blob/sPHENIX/Core/include/Acts/Geometry/Volume.hpp>

+ Inheritance diagram for Acts::Volume:
+ Collaboration diagram for Acts::Volume:

Public Types

using BoundingBox = AxisAlignedBoundingBox< Volume, double, 3 >
 

Public Member Functions

 Volume (const Transform3D &transform, VolumeBoundsPtr volbounds)
 
 Volume (const Volume &vol, const Transform3D &shift=Transform3D::Identity())
 
 Volume ()=delete
 
virtual ~Volume ()=default
 
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
 
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)
 
GeometryObjectoperator= (const GeometryObject &geometryId)
 
const GeometryIdentifiergeometryId () const
 
virtual double binningPositionValue (const GeometryContext &gctx, BinningValue bValue) const
 
void assignGeometryId (const GeometryIdentifier &geometryId)
 

Protected Attributes

Transform3D m_transform
 
Transform3D m_itransform
 
Vector3D m_center
 
VolumeBoundsPtr m_volumeBounds
 
BoundingBox m_orientedBoundingBox
 
- Protected Attributes inherited from Acts::GeometryObject
GeometryIdentifier m_geometryId
 

Detailed Description

It inhertis of GeometryObject for TDD identification

Base class for all volumes inside the tracking realm, it defines the interface for inherited Volume classes regarding the geometrical information.

Definition at line 32 of file Volume.hpp.

View newest version in sPHENIX GitHub at line 32 of file Volume.hpp

Member Typedef Documentation

Definition at line 34 of file Volume.hpp.

View newest version in sPHENIX GitHub at line 34 of file Volume.hpp

Constructor & Destructor Documentation

Acts::Volume::Volume ( const Transform3D transform,
VolumeBoundsPtr  volbounds 
)

Explicit constructor with shared arguments

Parameters
transformis the transform to position the volume in 3D space
volboundsis the volume boundary definitions
Note
This will automatically build an oriented bounding box with an envelope value of (0.05, 0.05, 0.05)mm
Acts::Volume::Volume ( const Volume vol,
const Transform3D shift = Transform3D::Identity() 
)

Copy Constructor - with optional shift

Parameters
volis the source volume for the copy
shiftis the optional shift applied as : shift * vol.transform()
Note
This will automatically build an oriented bounding box with an envelope value of (0.05, 0.05, 0.05)mm
Acts::Volume::Volume ( )
delete
virtual Acts::Volume::~Volume ( )
virtualdefault

Member Function Documentation

Acts::Vector3D Acts::Volume::binningPosition ( const GeometryContext gctx,
Acts::BinningValue  bValue 
) const
overridevirtual

The binning position method

  • as default the center is given, but may be overloaded
Parameters
gctxThe current geometry context object, e.g. alignment
bValueis the binning value schema
Returns
vector 3D that can be used for the binning

Implements Acts::GeometryObject.

Definition at line 38 of file Volume.cpp.

View newest version in sPHENIX GitHub at line 38 of file Volume.cpp

References Acts::binR, Acts::binRPhi, and m_volumeBounds().

Referenced by Acts::TrackingVolume::glueTrackingVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Acts::Volume::BoundingBox Acts::Volume::boundingBox ( const Vector3D envelope = {0, 0, 0}) const

Construct bounding box for this shape

Parameters
envelopeOptional envelope to add / subtract from min/max
Returns
Constructed bounding box pointing to this volume

Definition at line 70 of file Volume.cpp.

View newest version in sPHENIX GitHub at line 70 of file Volume.cpp

References m_transform(), and m_volumeBounds().

+ Here is the call graph for this function:

const Vector3D & Acts::Volume::center ( ) const
inline

returns the center of the volume

Definition at line 115 of file Volume.hpp.

View newest version in sPHENIX GitHub at line 115 of file Volume.hpp

References m_center.

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().

+ Here is the caller graph for this function:

bool Acts::Volume::inside ( const Vector3D gpos,
double  tol = 0. 
) const

Inside() method for checks

Parameters
gposis the position to be checked
tolis the tolerance parameter
Returns
boolean indicator if the position is inside

Definition at line 60 of file Volume.cpp.

View newest version in sPHENIX GitHub at line 60 of file Volume.cpp

References Acts::Test::transform.

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().

+ Here is the caller graph for this function:

const Transform3D & Acts::Volume::itransform ( ) const
inline

Returns the inverted transform of this volume.

Definition at line 111 of file Volume.hpp.

View newest version in sPHENIX GitHub at line 111 of file Volume.hpp

References m_itransform.

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().

+ Here is the caller graph for this function:

Acts::Volume & Acts::Volume::operator= ( const Volume vol)

Assignment operator

Parameters
volis the source volume to be copied

Definition at line 51 of file Volume.cpp.

View newest version in sPHENIX GitHub at line 51 of file Volume.cpp

References m_center(), m_center, m_transform(), m_transform, m_volumeBounds(), and m_volumeBounds.

+ Here is the call graph for this function:

const Acts::Volume::BoundingBox & Acts::Volume::orientedBoundingBox ( ) const

Construct oriented bounding box for this shape

Returns
Constructed oriented bounding box pointing to this volume

Definition at line 75 of file Volume.cpp.

View newest version in sPHENIX GitHub at line 75 of file Volume.cpp

References m_orientedBoundingBox().

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const Transform3D & Acts::Volume::transform ( ) const
inline

Return methods for geometry transform.

Definition at line 107 of file Volume.hpp.

View newest version in sPHENIX GitHub at line 107 of file Volume.hpp

References m_transform.

Referenced by Acts::adjustBinUtility(), and Acts::Test::BOOST_AUTO_TEST_CASE().

+ Here is the caller graph for this function:

const VolumeBounds & Acts::Volume::volumeBounds ( ) const
inline

returns the volumeBounds()

Definition at line 119 of file Volume.hpp.

View newest version in sPHENIX GitHub at line 119 of file Volume.hpp

References m_volumeBounds.

Referenced by Acts::adjustBinUtility(), Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::AbstractVolume::createBoundarySurfaces(), Acts::TrackingVolume::createBoundarySurfaces(), Acts::JsonGeometryConverter::DefaultBin(), and Acts::operator<<().

+ Here is the caller graph for this function:

Member Data Documentation

Vector3D Acts::Volume::m_center
protected

Definition at line 102 of file Volume.hpp.

View newest version in sPHENIX GitHub at line 102 of file Volume.hpp

Referenced by center(), and operator=().

Transform3D Acts::Volume::m_itransform
protected

Definition at line 101 of file Volume.hpp.

View newest version in sPHENIX GitHub at line 101 of file Volume.hpp

Referenced by itransform().

BoundingBox Acts::Volume::m_orientedBoundingBox
protected

Definition at line 104 of file Volume.hpp.

View newest version in sPHENIX GitHub at line 104 of file Volume.hpp

Transform3D Acts::Volume::m_transform
protected

Definition at line 100 of file Volume.hpp.

View newest version in sPHENIX GitHub at line 100 of file Volume.hpp

Referenced by operator=(), and transform().

VolumeBoundsPtr Acts::Volume::m_volumeBounds
protected

Definition at line 103 of file Volume.hpp.

View newest version in sPHENIX GitHub at line 103 of file Volume.hpp

Referenced by operator=(), and volumeBounds().


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