Analysis Software
Documentation for sPHENIX simulation software
|
#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 Vector2 &min, const Vector2 &max) noexcept(false) | |
~RectangleBounds () override=default | |
BoundsType | type () const final |
std::vector< double > | values () const final |
bool | inside (const Vector2 &lposition, const BoundaryCheck &bcheck) const final |
std::vector< Vector2 > | 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 Vector2 & | min () const |
const Vector2 & | max () const |
Private Member Functions | |
void | checkConsistency () noexcept(false) |
Private Attributes | |
Vector2 | m_min |
Vector2 | m_max |
Bounds for a rectangular, planar surface - it can be used to for rectangles that are symmetrically centered around (0./0.) and for generic shifted rectangles
Definition at line 30 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 30 of file RectangleBounds.hpp
enum Acts::RectangleBounds::BoundValues : int |
Definition at line 32 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 32 of file RectangleBounds.hpp
|
delete |
Constructor with halflength in x and y - symmetric
halfX | halflength in X |
halfY | halflength in Y |
Definition at line 46 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 46 of file RectangleBounds.hpp
Constructor - from fixed size array - generic
values | The parameter values |
Definition at line 54 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 54 of file RectangleBounds.hpp
References eMinX, eMinY, and values().
Constructor - from min/max - generic
min | The left bottom corner |
max | The right top corning |
Definition at line 64 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 64 of file RectangleBounds.hpp
References checkConsistency().
|
overridedefault |
|
finalvirtual |
Bounding box parameters
Implements Acts::PlanarBounds.
Definition at line 25 of file RectangleBounds.cpp.
View newest version in sPHENIX GitHub at line 25 of file RectangleBounds.cpp
|
inlineprivatenoexcept |
Check the input values for consistency, will throw a logic_exception if consistency is not given
Definition at line 170 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 170 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 154 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 154 of file RectangleBounds.hpp
References assert, eMaxX, eMaxY, eMinX, eMinY, m_max, and m_min.
Referenced by Acts::adjustBinUtility(), Acts::MappingMaterialDecorator::binnedSurfaceMaterial(), and Acts::Test::BOOST_AUTO_TEST_CASE().
|
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(), and CylinderGeomMicromegas::find_strip_from_local_coords().
|
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 14 of file RectangleBounds.cpp.
View newest version in sPHENIX GitHub at line 14 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 47 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 47 of file RectangleBounds.hpp
References Acts::Test::halfX, and Acts::Test::halfY.
Definition at line 56 of file RectangleBounds.hpp.
View newest version in sPHENIX GitHub at line 56 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 30 of file RectangleBounds.cpp.
View newest version in sPHENIX GitHub at line 30 of file RectangleBounds.cpp
References Acts::UnitConstants::min.
|
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 19 of file RectangleBounds.cpp.
View newest version in sPHENIX GitHub at line 19 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().