![]() |
EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/sPHENIX/Core/include/Acts/Geometry/ConeVolumeBounds.hpp>
Inheritance diagram for Acts::ConeVolumeBounds:
Collaboration diagram for Acts::ConeVolumeBounds:Public Types | |
| enum | BoundValues : unsigned int { eInnerAlpha = 0, eInnerOffsetZ = 1, eOuterAlpha = 2, eOuterOffsetZ = 3, eHalfLengthZ = 4, eAveragePhi = 5, eHalfPhiSector = 6, eSize } |
| for readability 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 | |
| ConeVolumeBounds ()=delete | |
| ConeVolumeBounds (double innerAlpha, double innerTipZ, double outerAlpha, double outerOffsetZ, double halflengthZ, double averagePhi, double halfPhiSector) noexcept(false) | |
| ConeVolumeBounds (double cylinderR, double alpha, double offsetZ, double halflengthZ, double averagePhi, double halfPhiSector) noexcept(false) | |
| ConeVolumeBounds (const std::array< double, eSize > &values) noexcept(false) | |
| ConeVolumeBounds (const ConeVolumeBounds &cobo)=default | |
| ~ConeVolumeBounds () override=default | |
| ConeVolumeBounds & | operator= (const ConeVolumeBounds &cobo)=default |
| VolumeBounds::BoundsType | type () const final |
| std::vector< double > | values () const final |
| bool | inside (const Vector3D &pos, double tol=0.) const final |
| OrientedSurfaces | orientedSurfaces (const Transform3D &transform=Transform3D::Identity()) const final |
| Volume::BoundingBox | boundingBox (const Transform3D *trf=nullptr, const Vector3D &envelope={0, 0, 0}, const Volume *entity=nullptr) const final |
| double | get (BoundValues bValue) const |
| double | innerRmin () const |
| double | innerRmax () const |
| double | innerTanAlpha () const |
| double | outerRmin () const |
| double | outerRmax () const |
| double | outerTanAlpha () const |
| std::ostream & | toStream (std::ostream &sl) const final |
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 | |
| void | checkConsistency () noexcept(false) |
| void | buildSurfaceBounds () |
| Create the surface bounds. | |
| template<class stream_t > | |
| stream_t & | dumpT (stream_t &dt) const |
Private Attributes | |
| std::array< double, eSize > | m_values |
| The bound values. | |
| std::shared_ptr< CylinderBounds > | m_innerCylinderBounds {nullptr} |
| std::shared_ptr< ConeBounds > | m_innerConeBounds {nullptr} |
| std::shared_ptr< ConeBounds > | m_outerConeBounds {nullptr} |
| std::shared_ptr< CylinderBounds > | m_outerCylinderBounds {nullptr} |
| std::shared_ptr< RadialBounds > | m_negativeDiscBounds {nullptr} |
| std::shared_ptr< RadialBounds > | m_positiveDiscBounds {nullptr} |
| std::shared_ptr< PlanarBounds > | m_sectorBounds {nullptr} |
| double | m_innerRmin = 0. |
| Derived values. | |
| double | m_innerRmax = 0. |
| double | m_innerTanAlpha = 0. |
| double | m_outerRmin = 0. |
| double | m_outerRmax = 0. |
| double | m_outerTanAlpha = 0. |
Volume bound class for describing conical volumes either with cylindrical inlay or outer boundary, it also allows for a sectoral description
Definition at line 32 of file ConeVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 32 of file ConeVolumeBounds.hpp
| enum Acts::ConeVolumeBounds::BoundValues : unsigned int |
for readability
| eInnerAlpha | |
| eInnerOffsetZ | |
| eOuterAlpha | |
| eOuterOffsetZ | |
| eHalfLengthZ | |
| eAveragePhi | |
| eHalfPhiSector | |
| eSize |
Definition at line 35 of file ConeVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 35 of file ConeVolumeBounds.hpp
|
delete |
|
noexcept |
Constructor - for general cone-cone setups
| innerAlpha | The opening angle of the inner cone (0 if no cone) |
| innerOffsetZ | The tip z position in of the inner cone, w.r.t center |
| outerAlpha | The opening angle of the outer cone (0 if no cone) |
| outerOffsetZ | The tip z position in of the outer cone, w.r.t center |
| halflengthZ | The minimum z value of the inner and outer cones |
| avergePhi | The phi orientation of the sector |
| halfPhiSector | The opening angle phi sector |
Definition at line 25 of file ConeVolumeBounds.cpp.
View newest version in sPHENIX GitHub at line 25 of file ConeVolumeBounds.cpp
References buildSurfaceBounds().
Here is the call graph for this function:
|
noexcept |
Constructor - for general cylidner-cone setups
| cylinderR | The inner radius of the cylinder |
| alpha | The opening angle of the cone (0 if no cone) |
| offsetZ | The tip z position in of the cone, w.r.t center |
| halflengthZ | The minimum z value of the inner and outer cones |
| avergePhi | The phi orientation of the sector (defaulted to 0) |
| halfPhiSector | The opening angle phi sector |
Definition at line 41 of file ConeVolumeBounds.cpp.
View newest version in sPHENIX GitHub at line 41 of file ConeVolumeBounds.cpp
References kdfinder::abs(), starlightConstants::alpha, buildSurfaceBounds(), rmax(), and Acts::Test::tanAlpha.
Here is the call graph for this function:
|
inlinenoexcept |
Constructor - from a fixed size array
| values | The bound values |
Definition at line 79 of file ConeVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 79 of file ConeVolumeBounds.hpp
References buildSurfaceBounds(), and checkConsistency().
Here is the call graph for this function:
|
default |
|
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 284 of file ConeVolumeBounds.cpp.
View newest version in sPHENIX GitHub at line 284 of file ConeVolumeBounds.cpp
References Acts::AxisAlignedBoundingBox< entity_t, value_t, DIM >::transformed().
Here is the call graph for this function:
|
private |
Create the surface bounds.
Definition at line 228 of file ConeVolumeBounds.cpp.
View newest version in sPHENIX GitHub at line 228 of file ConeVolumeBounds.cpp
References kdfinder::abs(), M_PI, max, and Acts::s_epsilon.
Referenced by ConeVolumeBounds().
Here is the call graph for this function:
Here is the caller graph for this function:
|
privatenoexcept |
Check the input values for consistency, will throw a logic_exception if consistency is not given
Definition at line 161 of file ConeVolumeBounds.cpp.
View newest version in sPHENIX GitHub at line 161 of file ConeVolumeBounds.cpp
References M_PI, and Acts::detail::radian_sym().
Referenced by ConeVolumeBounds().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Templated dump methos
| stream_t | The type of the stream for dumping |
| dt | The stream object |
Definition at line 216 of file ConeVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 216 of file ConeVolumeBounds.hpp
References eAveragePhi, eHalfLengthZ, eInnerAlpha, eInnerOffsetZ, eOuterAlpha, and eOuterOffsetZ.
|
inline |
Access to the bound values
| bValue | the class nested enum for the array access |
Definition at line 127 of file ConeVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 127 of file ConeVolumeBounds.hpp
References m_values.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
Here is the caller graph for this function:
|
inline |
Definition at line 189 of file ConeVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 189 of file ConeVolumeBounds.hpp
References m_innerRmax.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
Here is the caller graph for this function:
|
inline |
Definition at line 185 of file ConeVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 185 of file ConeVolumeBounds.hpp
References m_innerRmin.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
Here is the caller graph for this function:
|
inline |
Definition at line 193 of file ConeVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 193 of file ConeVolumeBounds.hpp
References m_innerTanAlpha.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
Here is the caller graph for this function:
|
finalvirtual |
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 181 of file ConeVolumeBounds.cpp.
View newest version in sPHENIX GitHub at line 181 of file ConeVolumeBounds.cpp
References kdfinder::abs(), M_PI, Acts::VectorHelpers::perp(), Acts::VectorHelpers::phi(), phi, phimin, rmax(), Acts::s_onSurfaceTolerance, and z.
Here is the call graph for this function:
|
default |
|
finalvirtual |
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 87 of file ConeVolumeBounds.cpp.
View newest version in sPHENIX GitHub at line 87 of file ConeVolumeBounds.cpp
References Acts::backward, eAveragePhi, eHalfLengthZ, eHalfPhiSector, eInnerOffsetZ, eOuterOffsetZ, Acts::forward, m_innerConeBounds, m_innerCylinderBounds, m_negativeDiscBounds, m_outerConeBounds, m_outerCylinderBounds, m_positiveDiscBounds, m_sectorBounds, and Acts::Test::transform.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
Here is the caller graph for this function:
|
inline |
Definition at line 201 of file ConeVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 201 of file ConeVolumeBounds.hpp
References m_outerRmax.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
Here is the caller graph for this function:
|
inline |
Definition at line 197 of file ConeVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 197 of file ConeVolumeBounds.hpp
References m_outerRmin.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
Here is the caller graph for this function:
|
inline |
Definition at line 205 of file ConeVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 205 of file ConeVolumeBounds.hpp
References m_outerTanAlpha.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
Here is the caller graph for this function:
|
finalvirtual |
Output Method for std::ostream
| sl | is ostream operator to be dumped into |
Implements Acts::VolumeBounds.
Definition at line 280 of file ConeVolumeBounds.cpp.
View newest version in sPHENIX GitHub at line 280 of file ConeVolumeBounds.cpp
|
inlinefinalvirtual |
Return the bounds type - for persistency optimization
Implements Acts::VolumeBounds.
Definition at line 89 of file ConeVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 89 of file ConeVolumeBounds.hpp
References Acts::VolumeBounds::eCone.
Referenced by generatez(), getmass(), getproba(), and getscatterer().
Here is the caller graph for this function:
|
inlinefinalvirtual |
Return the bound values as dynamically sized vector
Implements Acts::VolumeBounds.
Definition at line 209 of file ConeVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 209 of file ConeVolumeBounds.hpp
References m_values.
|
private |
Definition at line 169 of file ConeVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 169 of file ConeVolumeBounds.hpp
Referenced by orientedSurfaces().
|
private |
Definition at line 168 of file ConeVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 168 of file ConeVolumeBounds.hpp
Referenced by orientedSurfaces().
|
private |
Definition at line 178 of file ConeVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 178 of file ConeVolumeBounds.hpp
Referenced by innerRmax().
|
private |
Derived values.
Definition at line 177 of file ConeVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 177 of file ConeVolumeBounds.hpp
Referenced by innerRmin().
|
private |
Definition at line 179 of file ConeVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 179 of file ConeVolumeBounds.hpp
Referenced by innerTanAlpha().
|
private |
Definition at line 172 of file ConeVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 172 of file ConeVolumeBounds.hpp
Referenced by orientedSurfaces().
|
private |
Definition at line 170 of file ConeVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 170 of file ConeVolumeBounds.hpp
Referenced by orientedSurfaces().
|
private |
Definition at line 171 of file ConeVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 171 of file ConeVolumeBounds.hpp
Referenced by orientedSurfaces().
|
private |
Definition at line 181 of file ConeVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 181 of file ConeVolumeBounds.hpp
Referenced by outerRmax().
|
private |
Definition at line 180 of file ConeVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 180 of file ConeVolumeBounds.hpp
Referenced by outerRmin().
|
private |
Definition at line 182 of file ConeVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 182 of file ConeVolumeBounds.hpp
Referenced by outerTanAlpha().
|
private |
Definition at line 173 of file ConeVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 173 of file ConeVolumeBounds.hpp
Referenced by orientedSurfaces().
|
private |
Definition at line 174 of file ConeVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 174 of file ConeVolumeBounds.hpp
Referenced by orientedSurfaces().
|
private |
The bound values.
Definition at line 167 of file ConeVolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 167 of file ConeVolumeBounds.hpp