Analysis Software
Documentation for sPHENIX simulation software
|
#include <acts/blob/sPHENIX/Core/include/Acts/Surfaces/DiamondBounds.hpp>
Public Types | |
enum | BoundValues { eHalfLengthXnegY = 0, eHalfLengthXzeroY = 1, eHalfLengthXposY = 2, eHalfLengthYneg = 3, eHalfLengthYpos = 4, eSize = 5 } |
Public Member Functions | |
DiamondBounds ()=delete | |
DiamondBounds (double halfXnegY, double halfXzeroY, double halfXposY, double halfYneg, double halfYpos) noexcept(false) | |
m_boundingBox (Vector2{-(*std::max_element(m_values.begin(), m_values.begin()+2)),-halfYneg}, Vector2{*std::max_element(m_values.begin(), m_values.begin()+2), halfYpos}) | |
DiamondBounds (const std::array< double, eSize > &values) noexcept(false) | |
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 |
Public Attributes | |
Vector2 | |
Private Member Functions | |
void | checkConsistency () noexcept(false) |
Private Attributes | |
std::array< double, eSize > | m_values |
RectangleBounds | m_boundingBox |
internal bounding box cache | |
Bounds for a double trapezoidal ("diamond"), planar Surface.
Definition at line 30 of file DiamondBounds.hpp.
View newest version in sPHENIX GitHub at line 30 of file DiamondBounds.hpp
eHalfLengthXnegY | |
eHalfLengthXzeroY | |
eHalfLengthXposY | |
eHalfLengthYneg | |
eHalfLengthYpos | |
eSize |
Definition at line 32 of file DiamondBounds.hpp.
View newest version in sPHENIX GitHub at line 32 of file DiamondBounds.hpp
|
delete |
|
inlinenoexcept |
Constructor for convex hexagon symmetric about the y axis
halfXnegY | is the halflength in x at minimal y |
halfXzeroY | is the halflength in x at y = 0 |
halfXposY | is the halflength in x at maximal y |
halfYneg | is the halflength into y < 0 |
halfYpos | is the halflength into y > 0 |
Definition at line 50 of file DiamondBounds.hpp.
View newest version in sPHENIX GitHub at line 50 of file DiamondBounds.hpp
Constructor - from fixed size array
values | The parameter values |
Definition at line 65 of file DiamondBounds.hpp.
View newest version in sPHENIX GitHub at line 65 of file DiamondBounds.hpp
References eHalfLengthYneg, and values().
|
finalvirtual |
Bounding box parameters
Implements Acts::PlanarBounds.
Definition at line 36 of file DiamondBounds.cpp.
View newest version in sPHENIX GitHub at line 36 of file DiamondBounds.cpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inlineprivatenoexcept |
Check the input values for consistency, will throw a logic_exception if consistency is not given
Definition at line 129 of file DiamondBounds.hpp.
View newest version in sPHENIX GitHub at line 129 of file DiamondBounds.hpp
References eHalfLengthXnegY, eHalfLengthXposY, eHalfLengthXzeroY, and testSigmaEff::v.
|
inline |
Access to the bound values
bValue | the class nested enum for the array access |
Definition at line 112 of file DiamondBounds.hpp.
View newest version in sPHENIX GitHub at line 112 of file DiamondBounds.hpp
References m_values.
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 18 of file DiamondBounds.cpp.
View newest version in sPHENIX GitHub at line 18 of file DiamondBounds.cpp
References Acts::BoundaryCheck::isInside(), and ActsExamples::HepMC3Event::vertices().
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Definition at line 53 of file DiamondBounds.hpp.
View newest version in sPHENIX GitHub at line 53 of file DiamondBounds.hpp
References m_values.
|
finalvirtual |
Output Method for std::ostream
sl | is the ostream in which it is dumped |
Implements Acts::SurfaceBounds.
Definition at line 40 of file DiamondBounds.cpp.
View newest version in sPHENIX GitHub at line 40 of file DiamondBounds.cpp
References eHalfLengthXnegY, eHalfLengthXposY, eHalfLengthXzeroY, eHalfLengthYneg, and eHalfLengthYpos.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
finalvirtual |
Return the bounds type - for persistency optimization
Implements Acts::SurfaceBounds.
Definition at line 14 of file DiamondBounds.cpp.
View newest version in sPHENIX GitHub at line 14 of file DiamondBounds.cpp
References Acts::SurfaceBounds::eDiamond.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inlinefinalvirtual |
Return the bound values as dynamically sized vector
Implements Acts::SurfaceBounds.
Definition at line 123 of file DiamondBounds.hpp.
View newest version in sPHENIX GitHub at line 123 of file DiamondBounds.hpp
Referenced by DiamondBounds().
|
finalvirtual |
Return the vertices
lseg | the number of segments used to approximate and eventually curved line |
Implements Acts::PlanarBounds.
Definition at line 23 of file DiamondBounds.cpp.
View newest version in sPHENIX GitHub at line 23 of file DiamondBounds.cpp
References eHalfLengthXnegY, eHalfLengthXposY, eHalfLengthXzeroY, eHalfLengthYneg, and eHalfLengthYpos.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
private |
internal bounding box cache
Definition at line 116 of file DiamondBounds.hpp.
View newest version in sPHENIX GitHub at line 116 of file DiamondBounds.hpp
Definition at line 115 of file DiamondBounds.hpp.
View newest version in sPHENIX GitHub at line 115 of file DiamondBounds.hpp
Referenced by get(), and m_boundingBox().
Acts::DiamondBounds::Vector2 |
Definition at line 70 of file DiamondBounds.hpp.
View newest version in sPHENIX GitHub at line 70 of file DiamondBounds.hpp