ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/master/Core/include/Acts/Surfaces/DiscTrapezoidBounds.hpp>
Public Types | |
enum | BoundValues : int { eHalfLengthXminR = 0, eHalfLengthXmaxR = 1, eMinR = 2, eMaxR = 3, eAveragePhi = 4, eStereo = 5, eSize = 6 } |
Public Member Functions | |
DiscTrapezoidBounds ()=delete | |
DiscTrapezoidBounds (double halfXminR, double halfXmaxR, double minR, double maxR, double avgPhi=M_PI_2, double stereo=0.) noexcept(false) | |
DiscTrapezoidBounds (const std::array< double, eSize > &values) noexcept(false) | |
~DiscTrapezoidBounds () override=default | |
SurfaceBounds::BoundsType | type () const final |
std::vector< double > | values () const final |
bool | inside (const Vector2D &lposition, const BoundaryCheck &bcheck=true) const final |
double | distanceToBoundary (const Vector2D &lposition) const final |
std::ostream & | toStream (std::ostream &sl) const final |
Output Method for std::ostream. | |
double | get (BoundValues bValue) const |
double | rMin () const final |
This method returns inner radius. | |
double | rMax () const final |
This method returns outer radius. | |
double | rCenter () const |
This method returns the center radius. | |
double | stereo () const |
This method returns the stereo angle. | |
double | halfPhiSector () const |
This method returns the halfPhiSector which is covered by the disc. | |
double | halfLengthY () const |
This method returns the half length in Y (this is Rmax -Rmin) | |
bool | coversFullAzimuth () const final |
Returns true for full phi coverage - obviously false here. | |
bool | insideRadialBounds (double R, double tolerance=0.) const final |
double | binningValueR () const final |
Return a reference radius for binning. | |
double | binningValuePhi () const final |
Return a reference phi for binning. | |
std::vector< Vector2D > | vertices (unsigned int lseg) const |
Private Member Functions | |
void | checkConsistency () noexcept(false) |
Vector2D | toLocalCartesian (const Vector2D &lposition) const |
ActsMatrixD< 2, 2 > | jacobianToLocalCartesian (const Vector2D &lposition) const |
Private Attributes | |
std::array< double, eSize > | m_values |
Class to describe the bounds for a planar DiscSurface. By providing an argument for hphisec, the bounds can be restricted to a phi-range around the center position.
Definition at line 28 of file DiscTrapezoidBounds.hpp.
View newest version in sPHENIX GitHub at line 28 of file DiscTrapezoidBounds.hpp
Definition at line 30 of file DiscTrapezoidBounds.hpp.
View newest version in sPHENIX GitHub at line 30 of file DiscTrapezoidBounds.hpp
|
delete |
|
noexcept |
Constructor for a symmetric Trapezoid giving min X length, max X length, Rmin and R max
halfXminR | half length in X at min radius |
halfXmaxR | half length in X at maximum radius |
minR | inner radius |
maxR | outer radius |
avgPhi | average phi value |
stereo | optional stero angle applied |
Definition at line 15 of file DiscTrapezoidBounds.cpp.
View newest version in sPHENIX GitHub at line 15 of file DiscTrapezoidBounds.cpp
|
inlinenoexcept |
Constructor - from fixed size array
values | The parameter values |
Definition at line 57 of file DiscTrapezoidBounds.hpp.
View newest version in sPHENIX GitHub at line 57 of file DiscTrapezoidBounds.hpp
References checkConsistency().
|
overridedefault |
|
inlinefinalvirtual |
Return a reference phi for binning.
Implements Acts::DiscBounds.
Definition at line 206 of file DiscTrapezoidBounds.hpp.
View newest version in sPHENIX GitHub at line 206 of file DiscTrapezoidBounds.hpp
References eAveragePhi.
|
inlinefinalvirtual |
Return a reference radius for binning.
Implements Acts::DiscBounds.
Definition at line 202 of file DiscTrapezoidBounds.hpp.
View newest version in sPHENIX GitHub at line 202 of file DiscTrapezoidBounds.hpp
|
inlineprivatenoexcept |
Check the input values for consistency, will throw a logic_exception if consistency is not given
Definition at line 216 of file DiscTrapezoidBounds.hpp.
View newest version in sPHENIX GitHub at line 216 of file DiscTrapezoidBounds.hpp
References eAveragePhi, eHalfLengthXmaxR, eHalfLengthXminR, eMaxR, eMinR, and Acts::detail::radian_sym().
Referenced by DiscTrapezoidBounds().
|
inlinefinalvirtual |
Returns true for full phi coverage - obviously false here.
Implements Acts::DiscBounds.
Definition at line 193 of file DiscTrapezoidBounds.hpp.
View newest version in sPHENIX GitHub at line 193 of file DiscTrapezoidBounds.hpp
|
finalvirtual |
Minimal distance to boundary
lposition | is the local position to be checked (in polar coordinates) |
Implements Acts::SurfaceBounds.
Definition at line 54 of file DiscTrapezoidBounds.cpp.
View newest version in sPHENIX GitHub at line 54 of file DiscTrapezoidBounds.cpp
References Acts::BoundaryCheck::distance().
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Access to the bound values
bValue | the class nested enum for the array access |
Definition at line 91 of file DiscTrapezoidBounds.hpp.
View newest version in sPHENIX GitHub at line 91 of file DiscTrapezoidBounds.hpp
References m_values.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
This method returns the half length in Y (this is Rmax -Rmin)
Definition at line 183 of file DiscTrapezoidBounds.hpp.
View newest version in sPHENIX GitHub at line 183 of file DiscTrapezoidBounds.hpp
References eHalfLengthXmaxR, eHalfLengthXminR, eMaxR, eMinR, and rmax().
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
This method returns the halfPhiSector which is covered by the disc.
Definition at line 167 of file DiscTrapezoidBounds.hpp.
View newest version in sPHENIX GitHub at line 167 of file DiscTrapezoidBounds.hpp
References eHalfLengthXmaxR, eHalfLengthXminR, eMaxR, eMinR, and max.
|
finalvirtual |
This method cheks if the radius given in the LocalPosition is inside [rMin,rMax] if only tol0 is given and additional in the phi sector is tol1 is given
lposition | is the local position to be checked (in polar coordinates) |
bcheck | is the boundary check directive |
Implements Acts::SurfaceBounds.
Definition at line 43 of file DiscTrapezoidBounds.cpp.
View newest version in sPHENIX GitHub at line 43 of file DiscTrapezoidBounds.cpp
References Acts::BoundaryCheck::isInside(), and Acts::BoundaryCheck::transformed().
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inlinefinalvirtual |
Checks if this is inside the radial coverage given the a tolerance
Implements Acts::DiscBounds.
Definition at line 197 of file DiscTrapezoidBounds.hpp.
View newest version in sPHENIX GitHub at line 197 of file DiscTrapezoidBounds.hpp
|
private |
Jacobian into its Cartesian representation
lposition | The local position in polar coordinates |
Definition at line 33 of file DiscTrapezoidBounds.cpp.
View newest version in sPHENIX GitHub at line 33 of file DiscTrapezoidBounds.cpp
References Acts::eLOC_PHI, and Acts::eLOC_R.
|
inline |
This method returns the center radius.
Definition at line 173 of file DiscTrapezoidBounds.hpp.
View newest version in sPHENIX GitHub at line 173 of file DiscTrapezoidBounds.hpp
References eHalfLengthXmaxR, eHalfLengthXminR, eMaxR, eMinR, and rmax().
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inlinefinalvirtual |
This method returns outer radius.
Implements Acts::DiscBounds.
Definition at line 159 of file DiscTrapezoidBounds.hpp.
View newest version in sPHENIX GitHub at line 159 of file DiscTrapezoidBounds.hpp
References eMaxR.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inlinefinalvirtual |
This method returns inner radius.
Implements Acts::DiscBounds.
Definition at line 155 of file DiscTrapezoidBounds.hpp.
View newest version in sPHENIX GitHub at line 155 of file DiscTrapezoidBounds.hpp
References eMinR.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
This method returns the stereo angle.
Definition at line 163 of file DiscTrapezoidBounds.hpp.
View newest version in sPHENIX GitHub at line 163 of file DiscTrapezoidBounds.hpp
References eStereo.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
private |
Private helper method to convert a local postion into its Cartesian representation
lposition | The local position in polar coordinates |
Definition at line 27 of file DiscTrapezoidBounds.cpp.
View newest version in sPHENIX GitHub at line 27 of file DiscTrapezoidBounds.cpp
References Acts::eLOC_PHI, and Acts::eLOC_R.
|
finalvirtual |
Output Method for std::ostream.
Implements Acts::SurfaceBounds.
Definition at line 74 of file DiscTrapezoidBounds.cpp.
View newest version in sPHENIX GitHub at line 74 of file DiscTrapezoidBounds.cpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
finalvirtual |
Return the bounds type - for persistency optimization
Implements Acts::SurfaceBounds.
Definition at line 23 of file DiscTrapezoidBounds.cpp.
View newest version in sPHENIX GitHub at line 23 of file DiscTrapezoidBounds.cpp
References Acts::SurfaceBounds::eDiscTrapezoid.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inlinefinalvirtual |
Return the bound values as dynamically sized vector
Implements Acts::SurfaceBounds.
Definition at line 210 of file DiscTrapezoidBounds.hpp.
View newest version in sPHENIX GitHub at line 210 of file DiscTrapezoidBounds.hpp
References m_values.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
virtual |
This method returns the xy coordinates of the four corners of the bounds in module coorindates (in xy)
lseg | the number of segments used to approximate and eventually curved line |
Implements Acts::DiscBounds.
Definition at line 63 of file DiscTrapezoidBounds.cpp.
View newest version in sPHENIX GitHub at line 63 of file DiscTrapezoidBounds.cpp
|
private |
Definition at line 136 of file DiscTrapezoidBounds.hpp.
View newest version in sPHENIX GitHub at line 136 of file DiscTrapezoidBounds.hpp