EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/sPHENIX/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 |
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 25 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 25 of file RectangleBounds.hpp
enum Acts::RectangleBounds::BoundValues : int |
Definition at line 27 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 27 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 41 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 41 of file RectangleBounds.hpp
|
inlinenoexcept |
Constructor - from fixed size array - generic
values | The parameter values |
Definition at line 49 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 49 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 59 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 59 of file RectangleBounds.hpp
References checkConsistency().
|
overridedefault |
|
finalvirtual |
Bounding box parameters
Implements Acts::PlanarBounds.
Definition at line 28 of file RectangleBounds.cpp.
View newest version in sPHENIX GitHub at line 28 of file RectangleBounds.cpp
|
inlineprivatenoexcept |
Check the input values for consistency, will throw a logic_exception if consistency is not given
Definition at line 165 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 165 of file RectangleBounds.hpp
References eMaxX, eMaxY, eMinX, and eMinY.
Referenced by RectangleBounds().
|
inline |
Access to the bound values
bValue | the class nested enum for the array access |
Definition at line 149 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 149 of file RectangleBounds.hpp
References eMaxX, eMaxY, eMinX, eMinY, m_max, and m_min.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), and Acts::JsonGeometryConverter::DefaultBin().
|
inline |
Access to the half length in X.
Definition at line 137 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 137 of file RectangleBounds.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Access to the half length in Y.
Definition at line 141 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 141 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 17 of file RectangleBounds.cpp.
View newest version in sPHENIX GitHub at line 17 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 42 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 42 of file RectangleBounds.hpp
References Acts::Test::halfX, and Acts::Test::halfY.
Definition at line 51 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 51 of file RectangleBounds.hpp
References eMaxX, eMaxY, and values().
|
inline |
Get the max vertex defining the bounds
Definition at line 133 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 133 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 129 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 129 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 33 of file RectangleBounds.cpp.
View newest version in sPHENIX GitHub at line 33 of file RectangleBounds.cpp
|
inlinefinalvirtual |
Return the bounds type - for persistency optimization
Implements Acts::SurfaceBounds.
Definition at line 125 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 125 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 145 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 145 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 22 of file RectangleBounds.cpp.
View newest version in sPHENIX GitHub at line 22 of file RectangleBounds.cpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), and Acts::Test::dumpVertices().
|
private |
Definition at line 118 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 118 of file RectangleBounds.hpp
Referenced by get(), halfLengthX(), halfLengthY(), inside(), max(), and values().
|
private |
Definition at line 117 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 117 of file RectangleBounds.hpp
Referenced by get(), halfLengthX(), halfLengthY(), inside(), min(), and values().