Analysis Software
Documentation for sPHENIX simulation software
|
#include <acts/blob/sPHENIX/Core/include/Acts/Surfaces/RadialBounds.hpp>
Public Types | |
enum | BoundValues { eMinR = 0, eMaxR = 1, eHalfPhiSector = 2, eAveragePhi = 3, eSize = 4 } |
Public Member Functions | |
RadialBounds ()=delete | |
RadialBounds (double minR, double maxR, double halfPhi=M_PI, double avgPhi=0.) noexcept(false) | |
RadialBounds (const std::array< double, eSize > &values) noexcept(false) | |
~RadialBounds () override=default | |
SurfaceBounds::BoundsType | type () const final |
std::vector< double > | values () const final |
bool | inside (const Vector2 &lposition, const BoundaryCheck &bcheck) const final |
std::ostream & | toStream (std::ostream &sl) const final |
double | rMin () const final |
Return method for inner Radius. | |
double | rMax () const final |
Return method for outer Radius. | |
double | get (BoundValues bValue) const |
bool | coversFullAzimuth () const final |
Returns true for full phi coverage. | |
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 radius for binning. | |
Private Member Functions | |
void | checkConsistency () noexcept(false) |
Vector2 | shifted (const Vector2 &lposition) const |
std::vector< Vector2 > | vertices (unsigned int lseg) const final |
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 32 of file RadialBounds.hpp.
View newest version in sPHENIX GitHub at line 32 of file RadialBounds.hpp
Definition at line 34 of file RadialBounds.hpp.
View newest version in sPHENIX GitHub at line 34 of file RadialBounds.hpp
|
delete |
|
inlinenoexcept |
Constructor for full disc of symmetric disc around phi=0
minR | The inner radius (0 for full disc) |
maxR | The outer radius |
halfPhi | The half opening angle (Pi for full angular coverage) |
avgPhi | The average phi for the disc/ring sector |
Definition at line 50 of file RadialBounds.hpp.
View newest version in sPHENIX GitHub at line 50 of file RadialBounds.hpp
Constructor from array values
values | The bound values |
Definition at line 59 of file RadialBounds.hpp.
View newest version in sPHENIX GitHub at line 59 of file RadialBounds.hpp
References checkConsistency().
|
overridedefault |
|
inlinefinalvirtual |
Return a reference radius for binning.
Implements Acts::DiscBounds.
Definition at line 156 of file RadialBounds.hpp.
View newest version in sPHENIX GitHub at line 156 of file RadialBounds.hpp
References eAveragePhi.
|
inlinefinalvirtual |
Return a reference radius for binning.
Implements Acts::DiscBounds.
Definition at line 152 of file RadialBounds.hpp.
View newest version in sPHENIX GitHub at line 152 of file RadialBounds.hpp
|
inlineprivatenoexcept |
Check the input values for consistency, will throw a logic_exception if consistency is not given
Definition at line 166 of file RadialBounds.hpp.
View newest version in sPHENIX GitHub at line 166 of file RadialBounds.hpp
References eAveragePhi, eHalfPhiSector, eMaxR, eMinR, and Acts::detail::radian_sym().
Referenced by RadialBounds().
|
inlinefinalvirtual |
Returns true for full phi coverage.
Implements Acts::DiscBounds.
Definition at line 144 of file RadialBounds.hpp.
View newest version in sPHENIX GitHub at line 144 of file RadialBounds.hpp
References eHalfPhiSector.
|
inline |
Access to the bound values
bValue | the class nested enum for the array access |
Definition at line 95 of file RadialBounds.hpp.
View newest version in sPHENIX GitHub at line 95 of file RadialBounds.hpp
References m_values.
Referenced by Acts::adjustBinUtility(), Acts::MappingMaterialDecorator::binnedSurfaceMaterial(), Acts::Test::BOOST_AUTO_TEST_CASE(), and ActsFatras::PlanarSurfaceMask::radialMask().
|
finalvirtual |
For disc surfaces the local position in (r,phi) is checked
lposition | local position to be checked |
bcheck | boundary check directive |
Implements Acts::SurfaceBounds.
Definition at line 31 of file RadialBounds.cpp.
View newest version in sPHENIX GitHub at line 31 of file RadialBounds.cpp
References Acts::BoundaryCheck::isInside().
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 148 of file RadialBounds.hpp.
View newest version in sPHENIX GitHub at line 148 of file RadialBounds.hpp
|
inlinefinalvirtual |
Return method for outer Radius.
Implements Acts::DiscBounds.
Definition at line 140 of file RadialBounds.hpp.
View newest version in sPHENIX GitHub at line 140 of file RadialBounds.hpp
References eMaxR.
Referenced by Acts::CylinderVolumeBuilder::analyzeContent(), Acts::MappingMaterialDecorator::binnedSurfaceMaterial(), Acts::CylinderVolumeHelper::estimateAndCheckDimension(), and ActsExamples::RootMaterialTrackWriter::writeT().
|
inlinefinalvirtual |
Return method for inner Radius.
Implements Acts::DiscBounds.
Definition at line 136 of file RadialBounds.hpp.
View newest version in sPHENIX GitHub at line 136 of file RadialBounds.hpp
References eMinR.
Referenced by Acts::CylinderVolumeBuilder::analyzeContent(), Acts::MappingMaterialDecorator::binnedSurfaceMaterial(), Acts::CylinderVolumeHelper::estimateAndCheckDimension(), and ActsExamples::RootMaterialTrackWriter::writeT().
|
private |
Private helper method to shift a local position within the bounds
lposition | The local position in polar coordinates |
Definition at line 22 of file RadialBounds.cpp.
View newest version in sPHENIX GitHub at line 22 of file RadialBounds.cpp
References Acts::eBoundLoc0, Acts::eBoundLoc1, Acts::detail::radian_sym(), and Acts::Test::tmp().
|
finalvirtual |
Outstream operator
sl | is the ostream to be dumped into |
Implements Acts::SurfaceBounds.
Definition at line 44 of file RadialBounds.cpp.
View newest version in sPHENIX GitHub at line 44 of file RadialBounds.cpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
finalvirtual |
Return the bounds type - for persistency optimization
Implements Acts::SurfaceBounds.
Definition at line 18 of file RadialBounds.cpp.
View newest version in sPHENIX GitHub at line 18 of file RadialBounds.cpp
References Acts::SurfaceBounds::eDisc.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inlinefinalvirtual |
Return the bound values as dynamically sized vector
Implements Acts::SurfaceBounds.
Definition at line 160 of file RadialBounds.hpp.
View newest version in sPHENIX GitHub at line 160 of file RadialBounds.hpp
References m_values.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
finalprivatevirtual |
This method returns the xy coordinates of vertices along the radial bounds
lseg | the number of segments used to approximate and eventually curved line |
Implements Acts::DiscBounds.
Definition at line 38 of file RadialBounds.cpp.
View newest version in sPHENIX GitHub at line 38 of file RadialBounds.cpp
References Acts::detail::VerticesHelper::circularVertices().
Definition at line 111 of file RadialBounds.hpp.
View newest version in sPHENIX GitHub at line 111 of file RadialBounds.hpp