Analysis Software
Documentation for sPHENIX simulation software
|
#include <acts/blob/sPHENIX/Core/include/Acts/Geometry/CuboidVolumeBounds.hpp>
Public Types | |
enum | BoundValues : unsigned int { eHalfLengthX = 0, eHalfLengthY = 1, eHalfLengthZ = 2, eSize } |
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 Vector3 &pos, double tol=0.) const override |
OrientedSurfaces | orientedSurfaces (const Transform3 &transform=Transform3::Identity()) const override |
Volume::BoundingBox | boundingBox (const Transform3 *trf=nullptr, const Vector3 &envelope={0, 0, 0}, const Volume *entity=nullptr) const final |
double | binningBorder (BinningValue bValue) const final |
double | get (BoundValues bValue) const |
std::ostream & | toStream (std::ostream &sl) const override |
Public Member Functions inherited from Acts::VolumeBounds | |
VolumeBounds ()=default | |
virtual | ~VolumeBounds ()=default |
virtual Vector3 | binningOffset (BinningValue bValue) const |
Binning offset - overloaded for some R-binning types. | |
Private Member Functions | |
template<class stream_t > | |
stream_t & | dumpT (stream_t &dt) const |
void | buildSurfaceBounds () |
Create the surface bounds. | |
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 orientedSurfaces(...) method creates a vector of 6 surfaces:
BoundarySurfaceFace [index]:
Definition at line 49 of file CuboidVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 49 of file CuboidVolumeBounds.hpp
enum Acts::CuboidVolumeBounds::BoundValues : unsigned int |
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 |
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 20 of file CuboidVolumeBounds.cpp.
View newest version in sPHENIX GitHub at line 20 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 buildSurfaceBounds(), and checkConsistency().
Acts::CuboidVolumeBounds::CuboidVolumeBounds | ( | const CuboidVolumeBounds & | bobo | ) |
Copy Constructor
bobo | is the source volume bounds to be copied |
Definition at line 27 of file CuboidVolumeBounds.cpp.
View newest version in sPHENIX GitHub at line 27 of file CuboidVolumeBounds.cpp
|
overridedefault |
|
finalvirtual |
Binning borders in double
bValue | is the binning schema used |
Reimplemented from Acts::VolumeBounds.
Definition at line 107 of file CuboidVolumeBounds.cpp.
View newest version in sPHENIX GitHub at line 107 of file CuboidVolumeBounds.cpp
References Acts::binR, Acts::binX, Acts::binY, and Acts::binZ.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
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 88 of file CuboidVolumeBounds.cpp.
View newest version in sPHENIX GitHub at line 88 of file CuboidVolumeBounds.cpp
References Acts::AxisAlignedBoundingBox< entity_t, value_t, DIM >::transformed().
|
private |
Create the surface bounds.
Definition at line 98 of file CuboidVolumeBounds.cpp.
View newest version in sPHENIX GitHub at line 98 of file CuboidVolumeBounds.cpp
Referenced by CuboidVolumeBounds().
|
inlineprivatenoexcept |
Check the input values for consistency, will throw a logic_exception if consistency is not given
Definition at line 175 of file CuboidVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 175 of file CuboidVolumeBounds.hpp
References eHalfLengthX, eHalfLengthY, and eHalfLengthZ.
Referenced by CuboidVolumeBounds().
|
private |
Templated dumpT method
stream_t | The type for the dump stream |
dt | The dump stream object |
Definition at line 184 of file CuboidVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 184 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 134 of file CuboidVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 134 of file CuboidVolumeBounds.hpp
References m_values.
Referenced by Acts::adjustBinUtility(), and Acts::Test::BOOST_AUTO_TEST_CASE().
|
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 163 of file CuboidVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 163 of file CuboidVolumeBounds.hpp
References eHalfLengthX, eHalfLengthY, and eHalfLengthZ.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
Acts::CuboidVolumeBounds & Acts::CuboidVolumeBounds::operator= | ( | const CuboidVolumeBounds & | bobo | ) |
Assignment operator
bobo | is the source volume bounds to be assigned |
Definition at line 34 of file CuboidVolumeBounds.cpp.
View newest version in sPHENIX GitHub at line 34 of file CuboidVolumeBounds.cpp
References m_values, m_xyBounds, m_yzBounds, and m_zxBounds.
|
overridevirtual |
Oriented surfaces, i.e. the decomposed boundary surfaces and the according navigation direction into the volume given the normal vector on the surface
transform | is the 3D transform to be applied to the boundary surfaces to position them in 3D space |
It will throw an exception if the orientation prescription is not adequate
Implements Acts::VolumeBounds.
Definition at line 45 of file CuboidVolumeBounds.cpp.
View newest version in sPHENIX GitHub at line 45 of file CuboidVolumeBounds.cpp
References testing::internal::move(), Acts::Direction::Negative, Acts::Direction::Positive, Acts::s_planeYZ, and Acts::s_planeZX.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
overridevirtual |
Output Method for std::ostream
sl | is ostream operator to be dumped into |
Implements Acts::VolumeBounds.
Definition at line 84 of file CuboidVolumeBounds.cpp.
View newest version in sPHENIX GitHub at line 84 of file CuboidVolumeBounds.cpp
|
inlinefinalvirtual |
Return the bounds type - for persistency optimization
Implements Acts::VolumeBounds.
Definition at line 89 of file CuboidVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 89 of file CuboidVolumeBounds.hpp
References Acts::VolumeBounds::eCuboid.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inlinefinalvirtual |
Return the bound values as dynamically sized vector
Implements Acts::VolumeBounds.
Definition at line 169 of file CuboidVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 169 of file CuboidVolumeBounds.hpp
References m_values.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
The bound values ordered in a fixed size array.
Definition at line 149 of file CuboidVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 149 of file CuboidVolumeBounds.hpp
Referenced by get(), operator=(), and values().
|
private |
Definition at line 151 of file CuboidVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 151 of file CuboidVolumeBounds.hpp
Referenced by operator=().
|
private |
Definition at line 152 of file CuboidVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 152 of file CuboidVolumeBounds.hpp
Referenced by operator=().
|
private |
Definition at line 153 of file CuboidVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 153 of file CuboidVolumeBounds.hpp
Referenced by operator=().