![]() |
ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/master/Core/include/Acts/Geometry/CuboidVolumeBounds.hpp>
Inheritance diagram for Acts::CuboidVolumeBounds:
Collaboration diagram for Acts::CuboidVolumeBounds:Public Types | |
| enum | BoundValues : int { eHalfLengthX = 0, eHalfLengthY = 1, eHalfLengthZ = 2, eSize = 3 } |
| for streaming and access More... | |
Public Types inherited from Acts::VolumeBounds | |
| enum | BoundsType : int { eCone = 0, eCuboid = 1, eCutoutCylinder = 2, eCylinder = 3, eGenericCuboid = 4, eTrapezoid = 5, eOther = 6 } |
Public Member Functions | |
| CuboidVolumeBounds ()=delete | |
| CuboidVolumeBounds (double halex, double haley, double halez) noexcept(false) | |
| CuboidVolumeBounds (const std::array< double, eSize > &values) noexcept(false) | |
| CuboidVolumeBounds (const CuboidVolumeBounds &bobo) | |
| CuboidVolumeBounds & | operator= (const CuboidVolumeBounds &bobo) |
| ~CuboidVolumeBounds () override=default | |
| VolumeBounds::BoundsType | type () const final |
| std::vector< double > | values () const final |
| bool | inside (const Vector3D &pos, double tol=0.) const override |
| SurfacePtrVector | decomposeToSurfaces (const Transform3D *transformPtr) const override |
| Volume::BoundingBox | boundingBox (const Transform3D *trf=nullptr, const Vector3D &envelope={0, 0, 0}, const Volume *entity=nullptr) const final |
| std::ostream & | toStream (std::ostream &sl) const override |
| double | get (BoundValues bValue) const |
Public Member Functions inherited from Acts::VolumeBounds | |
| VolumeBounds ()=default | |
| virtual | ~VolumeBounds ()=default |
| virtual Vector3D | binningOffset (BinningValue bValue) const |
| Binning offset - overloaded for some R-binning types. | |
| virtual double | binningBorder (BinningValue bValue) const |
Private Member Functions | |
| template<class T > | |
| T & | dumpT (T &dt) const |
| Templated dumpT method. | |
| void | checkConsistency () noexcept(false) |
Private Attributes | |
| std::array< double, eSize > | m_values |
| The bound values ordered in a fixed size array. | |
| std::shared_ptr< const RectangleBounds > | m_xyBounds = nullptr |
| std::shared_ptr< const RectangleBounds > | m_yzBounds = nullptr |
| std::shared_ptr< const RectangleBounds > | m_zxBounds = nullptr |
Bounds for a cubical Volume, the decomposeToSurfaces method creates a vector of 6 surfaces:
BoundarySurfaceFace [index]:
plane at negative 
plane at positive 
plane at negative 
plane at negative 
plane at negative 
plane at positive 
Definition at line 49 of file CuboidVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 49 of file CuboidVolumeBounds.hpp
for streaming and access
Definition at line 52 of file CuboidVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 52 of file CuboidVolumeBounds.hpp
|
delete |
|
noexcept |
Constructor - the box boundaries
| halex | is the half length of the cube in x |
| haley | is the half length of the cube in y |
| halez | is the half length of the cube in z |
Definition at line 18 of file CuboidVolumeBounds.cpp.
View newest version in sPHENIX GitHub at line 18 of file CuboidVolumeBounds.cpp
|
inlinenoexcept |
Constructor - from a fixed size array
| values | iw the bound values |
Definition at line 71 of file CuboidVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 71 of file CuboidVolumeBounds.hpp
References checkConsistency().
Here is the call graph for this function:| Acts::CuboidVolumeBounds::CuboidVolumeBounds | ( | const CuboidVolumeBounds & | bobo | ) |
Copy Constructor
| bobo | is the source volume bounds to be copied |
Definition at line 28 of file CuboidVolumeBounds.cpp.
View newest version in sPHENIX GitHub at line 28 of file CuboidVolumeBounds.cpp
|
overridedefault |
|
finalvirtual |
Construct bounding box for this shape
| trf | Optional transform |
| envelope | Optional envelope to add / subtract from min/max |
| entity | Entity to associate this bounding box with |
Implements Acts::VolumeBounds.
Definition at line 108 of file CuboidVolumeBounds.cpp.
View newest version in sPHENIX GitHub at line 108 of file CuboidVolumeBounds.cpp
References Acts::AxisAlignedBoundingBox< entity_t, value_t, DIM >::transformed().
Here is the call graph for this function:
|
inlineprivatenoexcept |
Check the input values for consistency, will throw a logic_exception if consistency is not given
Definition at line 155 of file CuboidVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 155 of file CuboidVolumeBounds.hpp
References eHalfLengthX, eHalfLengthY, and eHalfLengthZ.
Referenced by CuboidVolumeBounds().
Here is the caller graph for this function:
|
overridevirtual |
Method to decompose the Bounds into boundarySurfaces
| transformPtr | is the transfrom of the volume |
Implements Acts::VolumeBounds.
Definition at line 46 of file CuboidVolumeBounds.cpp.
View newest version in sPHENIX GitHub at line 46 of file CuboidVolumeBounds.cpp
References M_PI, m_xyBounds(), m_yzBounds(), m_zxBounds(), and Acts::Test::transform.
Here is the call graph for this function:Templated dumpT method.
Definition at line 164 of file CuboidVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 164 of file CuboidVolumeBounds.hpp
References eHalfLengthX, eHalfLengthY, and eHalfLengthZ.
|
inline |
Access to the bound values
| bValue | the class nested enum for the array access |
Definition at line 124 of file CuboidVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 124 of file CuboidVolumeBounds.hpp
References m_values.
Referenced by Acts::adjustBinUtility(), and Acts::Test::BOOST_AUTO_TEST_CASE().
Here is the caller graph for this function:
|
inlineoverridevirtual |
This method checks if position in the 3D volume frame is inside the cylinder
| pos | is the position in volume frame to be checked |
| tol | is the absolute tolerance to be applied |
Implements Acts::VolumeBounds.
Definition at line 143 of file CuboidVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 143 of file CuboidVolumeBounds.hpp
References kdfinder::abs(), eHalfLengthX, eHalfLengthY, and eHalfLengthZ.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
Here is the call graph for this function:
Here is the caller graph for this function:| Acts::CuboidVolumeBounds & Acts::CuboidVolumeBounds::operator= | ( | const CuboidVolumeBounds & | bobo | ) |
Assignment operator
| bobo | is the source volume bounds to be assigned |
Definition at line 35 of file CuboidVolumeBounds.cpp.
View newest version in sPHENIX GitHub at line 35 of file CuboidVolumeBounds.cpp
References m_values, m_xyBounds(), m_xyBounds, m_yzBounds(), m_yzBounds, m_zxBounds(), and m_zxBounds.
Here is the call graph for this function:
|
overridevirtual |
Output Method for std::ostream
| sl | is ostream operator to be dumped into |
Implements Acts::VolumeBounds.
Definition at line 104 of file CuboidVolumeBounds.cpp.
View newest version in sPHENIX GitHub at line 104 of file CuboidVolumeBounds.cpp
|
inlinefinalvirtual |
Return the bounds type - for persistency optimization
Implements Acts::VolumeBounds.
Definition at line 88 of file CuboidVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 88 of file CuboidVolumeBounds.hpp
References Acts::VolumeBounds::eCuboid.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
Here is the caller graph for this function:
|
inlinefinalvirtual |
Return the bound values as dynamically sized vector
Implements Acts::VolumeBounds.
Definition at line 149 of file CuboidVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 149 of file CuboidVolumeBounds.hpp
References m_values.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
Here is the caller graph for this function:
|
private |
The bound values ordered in a fixed size array.
Definition at line 132 of file CuboidVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 132 of file CuboidVolumeBounds.hpp
Referenced by get(), operator=(), and values().
|
private |
Definition at line 134 of file CuboidVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 134 of file CuboidVolumeBounds.hpp
Referenced by operator=().
|
private |
Definition at line 135 of file CuboidVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 135 of file CuboidVolumeBounds.hpp
Referenced by operator=().
|
private |
Definition at line 136 of file CuboidVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 136 of file CuboidVolumeBounds.hpp
Referenced by operator=().