![]() |
Analysis Software
Documentation for sPHENIX simulation software
|
#include <acts/blob/sPHENIX/Core/include/Acts/Surfaces/DiamondBounds.hpp>
Inheritance diagram for Acts::DiamondBounds:
Collaboration diagram for Acts::DiamondBounds: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().
Here is the call graph for this function:
|
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().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:
|
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().
Here is the call graph for this function:
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:
|
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