ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/master/Core/include/Acts/Surfaces/ConeBounds.hpp>
Public Types | |
enum | BoundValues : int { eAlpha = 0, eMinZ = 1, eMaxZ = 2, eHalfPhiSector = 3, eAveragePhi = 4, eSize = 5 } |
Public Types inherited from Acts::SurfaceBounds | |
enum | BoundsType : int { eCone = 0, eCylinder = 1, eDiamond = 2, eDisc = 3, eEllipse = 5, eLine = 6, eRectangle = 7, eTrapezoid = 8, eTriangle = 9, eDiscTrapezoid = 10, eConvexPolygon = 11, eAnnulus = 12, eBoundless = 13, eOther = 14 } |
Public Member Functions | |
ConeBounds ()=delete | |
ConeBounds (double alpha, bool symm, double halfphi=M_PI, double avphi=0.) noexcept(false) | |
ConeBounds (double alpha, double minz, double maxz, double halfphi=M_PI, double avphi=0.) noexcept(false) | |
ConeBounds (const std::array< double, eSize > &values) noexcept(false) | |
~ConeBounds () override=default | |
BoundsType | type () const final |
std::vector< double > | values () const final |
bool | inside (const Vector2D &lposition, const BoundaryCheck &bcheck=true) const final |
double | distanceToBoundary (const Vector2D &lposition) const final |
std::ostream & | toStream (std::ostream &sl) const final |
double | r (double z) const |
double | tanAlpha () const |
Return tangent of alpha (pre-computed) | |
double | get (BoundValues bValue) const |
Public Member Functions inherited from Acts::SurfaceBounds | |
virtual | ~SurfaceBounds ()=default |
Private Member Functions | |
void | checkConsistency () noexcept(false) |
Vector2D | shifted (const Vector2D &lposition) const |
Shift r-phi coordinate to be centered around the average phi. | |
Private Attributes | |
std::array< double, eSize > | m_values |
double | m_tanAlpha |
Bounds for a conical surface, the opening angle is stored in and always positively defined. The cone can open to both sides, steered by and .
Definition at line 31 of file ConeBounds.hpp.
View newest version in sPHENIX GitHub at line 31 of file ConeBounds.hpp
enum Acts::ConeBounds::BoundValues : int |
Definition at line 33 of file ConeBounds.hpp.
View newest version in sPHENIX GitHub at line 33 of file ConeBounds.hpp
|
delete |
|
noexcept |
Constructor - open cone with alpha, by default a full cone but optionally can make a conical section
alpha | is the opening angle of the cone |
symm | is the boolean indicating if the cone is symmetric in +/- z |
halfphi | is the half opening angle (default is pi) |
avphi | is the phi value around which the bounds are opened (default=0) |
Definition at line 16 of file ConeBounds.cpp.
View newest version in sPHENIX GitHub at line 16 of file ConeBounds.cpp
References alpha.
|
noexcept |
Constructor - open cone with alpha, minz and maxz, by default a full cone but can optionally make it a conical section
alpha | is the opening angle of the cone |
minz | cone expanding from minimal z |
maxz | cone expanding to maximal z |
halfphi | is the half opening angle (default is pi) |
avphi | is the phi value around which the bounds are opened (default=0) |
Definition at line 24 of file ConeBounds.cpp.
View newest version in sPHENIX GitHub at line 24 of file ConeBounds.cpp
References alpha, G4B0ECAL::maxz, and G4B0ECAL::minz.
|
noexcept |
Constructor - from parameters array
values | The parameter array |
Definition at line 31 of file ConeBounds.cpp.
View newest version in sPHENIX GitHub at line 31 of file ConeBounds.cpp
|
overridedefault |
|
inlineprivatenoexcept |
Check the input values for consistency, will throw a logic_exception if consistency is not given
Definition at line 142 of file ConeBounds.hpp.
View newest version in sPHENIX GitHub at line 142 of file ConeBounds.hpp
References kdfinder::abs(), eAlpha, eAveragePhi, eHalfPhiSector, eMaxZ, eMinZ, M_PI, Acts::detail::radian_sym(), and Acts::s_epsilon.
|
finalvirtual |
Minimal distance to boundary ( > 0 if outside and <=0 if inside)
lposition | is the local position to check for the distance |
Implements Acts::SurfaceBounds.
Definition at line 63 of file ConeBounds.cpp.
View newest version in sPHENIX GitHub at line 63 of file ConeBounds.cpp
References Acts::BoundaryCheck::distance(), Acts::eLOC_Z, and r.
|
inline |
Access to the bound values
bValue | the class nested enum for the array access |
Definition at line 112 of file ConeBounds.hpp.
View newest version in sPHENIX GitHub at line 112 of file ConeBounds.hpp
References m_values.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
finalvirtual |
inside method for local position
lposition | is the local position to be checked |
bcheck | is the boundary check directive |
Implements Acts::SurfaceBounds.
Definition at line 56 of file ConeBounds.cpp.
View newest version in sPHENIX GitHub at line 56 of file ConeBounds.cpp
References Acts::eLOC_Z, Acts::BoundaryCheck::isInside(), and r.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Return the radius at a specific z values
z | is the z value for which r is requested |
Definition at line 128 of file ConeBounds.hpp.
View newest version in sPHENIX GitHub at line 128 of file ConeBounds.hpp
References kdfinder::abs(), and m_tanAlpha.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
private |
Shift r-phi coordinate to be centered around the average phi.
Private helper functin to shift a local 2D position
lposition | The original local position |
Definition at line 42 of file ConeBounds.cpp.
View newest version in sPHENIX GitHub at line 42 of file ConeBounds.cpp
References Acts::eLOC_RPHI, Acts::eLOC_Z, r, Acts::detail::radian_sym(), and x.
|
inline |
Return tangent of alpha (pre-computed)
Definition at line 132 of file ConeBounds.hpp.
View newest version in sPHENIX GitHub at line 132 of file ConeBounds.hpp
References m_tanAlpha.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
finalvirtual |
Output Method for std::ostream
sl | is the ostrea into which the dump is done |
Implements Acts::SurfaceBounds.
Definition at line 71 of file ConeBounds.cpp.
View newest version in sPHENIX GitHub at line 71 of file ConeBounds.cpp
References m_tanAlpha().
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
finalvirtual |
Return the bounds type - for persistency optimization
Implements Acts::SurfaceBounds.
Definition at line 37 of file ConeBounds.cpp.
View newest version in sPHENIX GitHub at line 37 of file ConeBounds.cpp
References Acts::SurfaceBounds::eCone.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inlinefinalvirtual |
Return the bound values as dynamically sized vector
Implements Acts::SurfaceBounds.
Definition at line 136 of file ConeBounds.hpp.
View newest version in sPHENIX GitHub at line 136 of file ConeBounds.hpp
References m_values.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
private |
Definition at line 116 of file ConeBounds.hpp.
View newest version in sPHENIX GitHub at line 116 of file ConeBounds.hpp
Referenced by r(), and tanAlpha().
|
private |
Definition at line 115 of file ConeBounds.hpp.
View newest version in sPHENIX GitHub at line 115 of file ConeBounds.hpp