ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/master/Core/include/Acts/Surfaces/LineBounds.hpp>
Public Types | |
enum | BoundValues : int { eR = 0, eHalfLengthZ = 1, eSize = 2 } |
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 | |
LineBounds ()=delete | |
LineBounds (double r, double halfZ) noexcept(false) | |
LineBounds (const std::array< double, eSize > &values) noexcept(false) | |
~LineBounds () 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::ostream & | toStream (std::ostream &sl) const final |
double | get (BoundValues bValue) const |
Public Member Functions inherited from Acts::SurfaceBounds | |
virtual | ~SurfaceBounds ()=default |
Private Member Functions | |
void | checkConsistency () noexcept(false) |
Private Attributes | |
std::array< double, eSize > | m_values |
Bounds for a LineSurface.
Definition at line 22 of file LineBounds.hpp.
View newest version in sPHENIX GitHub at line 22 of file LineBounds.hpp
enum Acts::LineBounds::BoundValues : int |
Definition at line 24 of file LineBounds.hpp.
View newest version in sPHENIX GitHub at line 24 of file LineBounds.hpp
|
delete |
|
inlinenoexcept |
Constructor
r | is the radius of the cylinder, default = 0. |
halfZ | is the half length in z, defualt = 0. |
Definition at line 32 of file LineBounds.hpp.
View newest version in sPHENIX GitHub at line 32 of file LineBounds.hpp
References r.
|
inlinenoexcept |
Constructor - from fixed size array
values | The parameter values |
Definition at line 39 of file LineBounds.hpp.
View newest version in sPHENIX GitHub at line 39 of file LineBounds.hpp
References checkConsistency().
|
overridedefault |
|
inlineprivatenoexcept |
Check the input values for consistency, will throw a logic_exception if consistency is not given
Definition at line 94 of file LineBounds.hpp.
View newest version in sPHENIX GitHub at line 94 of file LineBounds.hpp
References eHalfLengthZ, and eR.
Referenced by LineBounds().
|
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 26 of file LineBounds.cpp.
View newest version in sPHENIX GitHub at line 26 of file LineBounds.cpp
References Acts::eLOC_R.
|
inline |
Access to the bound values
bValue | the class nested enum for the array access |
Definition at line 78 of file LineBounds.hpp.
View newest version in sPHENIX GitHub at line 78 of file LineBounds.hpp
References m_values.
|
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 18 of file LineBounds.cpp.
View newest version in sPHENIX GitHub at line 18 of file LineBounds.cpp
References eHalfLengthZ, eR, Acts::BoundaryCheck::isInside(), and r.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
finalvirtual |
Output Method for std::ostream
sl | is the ostream to be dumped into |
Implements Acts::SurfaceBounds.
Definition at line 33 of file LineBounds.cpp.
View newest version in sPHENIX GitHub at line 33 of file LineBounds.cpp
References eHalfLengthZ, and eR.
|
finalvirtual |
Return the bounds type - for persistency optimization
Implements Acts::SurfaceBounds.
Definition at line 14 of file LineBounds.cpp.
View newest version in sPHENIX GitHub at line 14 of file LineBounds.cpp
References Acts::SurfaceBounds::eLine.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inlinefinalvirtual |
Return the bound values as dynamically sized vector
Implements Acts::SurfaceBounds.
Definition at line 88 of file LineBounds.hpp.
View newest version in sPHENIX GitHub at line 88 of file LineBounds.hpp
References m_values.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
private |
Definition at line 81 of file LineBounds.hpp.
View newest version in sPHENIX GitHub at line 81 of file LineBounds.hpp