ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/master/Core/include/Acts/Surfaces/RectangleBounds.hpp>
Public Types | |
enum | BoundValues : int { eMinX = 0, eMinY = 1, eMaxX = 2, eMaxY = 3, eSize = 4 } |
Public Member Functions | |
RectangleBounds ()=delete | |
RectangleBounds (double halfX, double halfY) noexcept(false) | |
m_max ({halfX, halfY}) | |
RectangleBounds (const std::array< double, eSize > &values) noexcept(false) | |
m_max ({values[eMaxX], values[eMaxY]}) | |
RectangleBounds (const Vector2D &min, const Vector2D &max) noexcept(false) | |
~RectangleBounds () 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=1) const final |
const RectangleBounds & | boundingBox () const final |
std::ostream & | toStream (std::ostream &sl) const final |
double | get (BoundValues bValue) const |
double | halfLengthX () const |
Access to the half length in X. | |
double | halfLengthY () const |
Access to the half length in Y. | |
const Vector2D & | min () const |
const Vector2D & | max () const |
Private Member Functions | |
void | checkConsistency () noexcept(false) |
Private Attributes | |
Vector2D | m_min |
Vector2D | m_max |
Bounds for a rectangular, planar surface - it can be used to for rectangles that are symetrically centered around (0./0.) and for generic shifted rectangles
Definition at line 24 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 24 of file RectangleBounds.hpp
Definition at line 26 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 26 of file RectangleBounds.hpp
|
delete |
|
inlinenoexcept |
Constructor with halflength in x and y - symmetric
halfX | halflength in X |
halfY | halflength in Y |
Definition at line 40 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 40 of file RectangleBounds.hpp
|
inlinenoexcept |
Constructor - from fixed size array - generic
values | The parameter values |
Definition at line 48 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 48 of file RectangleBounds.hpp
References eMinX, eMinY, and values().
|
inlinenoexcept |
Constructor - from min/max - generic
min | The left bottom corner |
max | The right top corning |
Definition at line 58 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 58 of file RectangleBounds.hpp
References checkConsistency().
|
overridedefault |
|
finalvirtual |
Bounding box parameters
Implements Acts::PlanarBounds.
Definition at line 32 of file RectangleBounds.cpp.
View newest version in sPHENIX GitHub at line 32 of file RectangleBounds.cpp
|
inlineprivatenoexcept |
Check the input values for consistency, will throw a logic_exception if consistency is not given
Definition at line 166 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 166 of file RectangleBounds.hpp
References eMaxX, eMaxY, eMinX, and eMinY.
Referenced by RectangleBounds().
|
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 21 of file RectangleBounds.cpp.
View newest version in sPHENIX GitHub at line 21 of file RectangleBounds.cpp
References Acts::BoundaryCheck::distance(), max, and min.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Access to the bound values
bValue | the class nested enum for the array access |
Definition at line 154 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 154 of file RectangleBounds.hpp
|
inline |
Access to the half length in X.
Definition at line 142 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 142 of file RectangleBounds.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Access to the half length in Y.
Definition at line 146 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 146 of file RectangleBounds.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
finalvirtual |
Inside check for the bounds object driven by the boundary check directive Each Bounds has a method inside, which checks if a LocalPosition is inside the bounds Inside can be called without/with tolerances.
lposition | Local position (assumed to be in right surface frame) |
bcheck | boundary check directive |
Implements Acts::SurfaceBounds.
Definition at line 16 of file RectangleBounds.cpp.
View newest version in sPHENIX GitHub at line 16 of file RectangleBounds.cpp
References Acts::BoundaryCheck::isInside(), m_max, and m_min.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Definition at line 41 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 41 of file RectangleBounds.hpp
References Acts::Test::halfX, and Acts::Test::halfY.
Definition at line 50 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 50 of file RectangleBounds.hpp
References eMaxX, eMaxY, and values().
|
inline |
Get the max vertex defining the bounds
Definition at line 138 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 138 of file RectangleBounds.hpp
References m_max.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Get the min vertex defining the bounds
Definition at line 134 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 134 of file RectangleBounds.hpp
References m_min.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
finalvirtual |
Output Method for std::ostream
sl | is the ostream for the dump |
Implements Acts::SurfaceBounds.
Definition at line 37 of file RectangleBounds.cpp.
View newest version in sPHENIX GitHub at line 37 of file RectangleBounds.cpp
|
inlinefinalvirtual |
Return the bounds type - for persistency optimization
Implements Acts::SurfaceBounds.
Definition at line 130 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 130 of file RectangleBounds.hpp
References Acts::SurfaceBounds::eRectangle.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inlinefinalvirtual |
Access method for bound values, this is a dynamically sized vector containing the parameters needed to describe these bounds
Implements Acts::SurfaceBounds.
Definition at line 150 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 150 of file RectangleBounds.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), m_max(), and RectangleBounds().
|
finalvirtual |
Return the vertices
lseg | the number of segments used to approximate and eventually curved line |
Implements Acts::PlanarBounds.
Definition at line 26 of file RectangleBounds.cpp.
View newest version in sPHENIX GitHub at line 26 of file RectangleBounds.cpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), and Acts::Test::dumpVertices().
|
private |
Definition at line 123 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 123 of file RectangleBounds.hpp
Referenced by get(), halfLengthX(), halfLengthY(), inside(), max(), and values().
|
private |
Definition at line 122 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 122 of file RectangleBounds.hpp
Referenced by get(), halfLengthX(), halfLengthY(), inside(), min(), and values().