![]() |
ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/master/Core/include/Acts/Surfaces/EllipseBounds.hpp>
Inheritance diagram for Acts::EllipseBounds:
Collaboration diagram for Acts::EllipseBounds:Public Types | |
| enum | BoundValues { eInnerRx = 0, eInnerRy = 1, eOuterRx = 2, eOuterRy = 3, eHalfPhiSector = 4, eAveragePhi = 5, eSize = 6 } |
Public Member Functions | |
| EllipseBounds ()=delete | |
| EllipseBounds (double innerRx, double innerRy, double outerRx, double outerRy, double halfPhi=M_PI, double averagePhi=0.) noexcept(false) | |
| m_boundingBox (m_values[eInnerRy], m_values[eOuterRy]) | |
| EllipseBounds (const std::array< double, eSize > &values) noexcept(false) | |
| ~EllipseBounds () override=default | |
| BoundsType | type () const final |
| std::vector< double > | values () const final |
| bool | inside (const Vector2D &lposition, const BoundaryCheck &bcheck) const final |
| double | distanceToBoundary (const Vector2D &lposition) const final |
| std::vector< Vector2D > | vertices (unsigned int lseg) const final |
| const RectangleBounds & | boundingBox () const final |
| std::ostream & | toStream (std::ostream &sl) const final |
| Output Method for std::ostream. | |
| double | get (BoundValues bValue) const |
Private Member Functions | |
| void | checkConsistency () noexcept(false) |
Private Attributes | |
| std::array< double, eSize > | m_values |
| RectangleBounds | m_boundingBox |
Class to describe the bounds for a planar ellispoid surface.
By providing an argument for hphisec, the bounds can be restricted to a phi-range around the center position.
Definition at line 31 of file EllipseBounds.hpp.
View newest version in sPHENIX GitHub at line 31 of file EllipseBounds.hpp
Definition at line 33 of file EllipseBounds.hpp.
View newest version in sPHENIX GitHub at line 33 of file EllipseBounds.hpp
|
delete |
|
inlinenoexcept |
Constructor for full of an ellipsoid ring
| innerRx | The inner ellipse radius in x |
| innerRy | The inner ellipse radius in y |
| outerRx | The outer ellipse radius in x |
| outerRy | The outer ellipse radius in y |
| halfPhi | spanning phi sector (is set to pi as default) |
| averagePhi | average phi (is set to 0. as default) |
Definition at line 53 of file EllipseBounds.hpp.
View newest version in sPHENIX GitHub at line 53 of file EllipseBounds.hpp
|
inlinenoexcept |
Constructor - from fixed size array
| values | The parameter values |
Definition at line 63 of file EllipseBounds.hpp.
View newest version in sPHENIX GitHub at line 63 of file EllipseBounds.hpp
References checkConsistency().
Here is the call graph for this function:
|
overridedefault |
|
finalvirtual |
Bounding box parameters
Implements Acts::PlanarBounds.
Definition at line 125 of file EllipseBounds.cpp.
View newest version in sPHENIX GitHub at line 125 of file EllipseBounds.cpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
Here is the caller graph for this function:
|
inlineprivatenoexcept |
Check the input values for consistency, will throw a logic_exception if consistency is not given
Definition at line 129 of file EllipseBounds.hpp.
View newest version in sPHENIX GitHub at line 129 of file EllipseBounds.hpp
References eAveragePhi, eHalfPhiSector, eInnerRx, eOuterRx, M_PI, and Acts::detail::radian_sym().
Referenced by EllipseBounds(), and m_boundingBox().
Here is the call graph for this function:
Here is the caller graph for this function:
|
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 54 of file EllipseBounds.cpp.
View newest version in sPHENIX GitHub at line 54 of file EllipseBounds.cpp
References a, kdfinder::abs(), b, Acts::eLOC_X, Acts::eLOC_Y, fb(), M_PI, min, Acts::VectorHelpers::perp(), phi, r, Acts::detail::radian_sym(), and sn.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Access to the bound values
| bValue | the class nested enum for the array access |
Definition at line 112 of file EllipseBounds.hpp.
View newest version in sPHENIX GitHub at line 112 of file EllipseBounds.hpp
References m_values.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
Here is the caller graph for this function:
|
finalvirtual |
This method checks if the point given in the local coordinates is between two ellipsoids if only tol0 is given and additional in the phi sector is tol1 is given
| lposition | Local position (assumed to be in right surface frame) |
| bcheck | boundary check directive |
Implements Acts::SurfaceBounds.
Definition at line 29 of file EllipseBounds.cpp.
View newest version in sPHENIX GitHub at line 29 of file EllipseBounds.cpp
References Acts::eLOC_X, Acts::eLOC_Y, Acts::BoundaryCheck::m_tolerance, Acts::VectorHelpers::phi(), phi, Acts::detail::radian_sym(), and square().
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 56 of file EllipseBounds.hpp.
View newest version in sPHENIX GitHub at line 56 of file EllipseBounds.hpp
References checkConsistency().
Here is the call graph for this function:
|
finalvirtual |
Output Method for std::ostream.
Implements Acts::SurfaceBounds.
Definition at line 130 of file EllipseBounds.cpp.
View newest version in sPHENIX GitHub at line 130 of file EllipseBounds.cpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
Here is the caller graph for this function:
|
finalvirtual |
Return the bounds type - for persistency optimization
Implements Acts::SurfaceBounds.
Definition at line 20 of file EllipseBounds.cpp.
View newest version in sPHENIX GitHub at line 20 of file EllipseBounds.cpp
References Acts::SurfaceBounds::eEllipse.
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::SurfaceBounds.
Definition at line 123 of file EllipseBounds.hpp.
View newest version in sPHENIX GitHub at line 123 of file EllipseBounds.hpp
References m_values.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
Here is the caller graph for this function:
|
finalvirtual |
Return the vertices
| lseg | the number of segments used to approximate and eventually curved line, here it refers to the full 2PI Ellipse |
Implements Acts::PlanarBounds.
Definition at line 118 of file EllipseBounds.cpp.
View newest version in sPHENIX GitHub at line 118 of file EllipseBounds.cpp
References Acts::detail::VerticesHelper::ellispoidVertices().
Here is the call graph for this function:
|
private |
Definition at line 116 of file EllipseBounds.hpp.
View newest version in sPHENIX GitHub at line 116 of file EllipseBounds.hpp
|
private |
Definition at line 115 of file EllipseBounds.hpp.
View newest version in sPHENIX GitHub at line 115 of file EllipseBounds.hpp