![]()  | 
						
							 
								EIC Software
							  
							
								Reference for 
								EIC 
								simulation and reconstruction software on GitHub
							  
						 | 
					
#include <acts/blob/sPHENIX/Core/include/Acts/Surfaces/CylinderBounds.hpp>
 Inheritance diagram for Acts::CylinderBounds:
 Collaboration diagram for Acts::CylinderBounds:Public Types | |
| enum | BoundValues : int {  eR = 0, eHalfLengthZ = 1, eHalfPhiSector = 2, eAveragePhi = 3, eSize = 4 }  | 
  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 | |
| CylinderBounds ()=delete | |
| CylinderBounds (double r, double halfZ, double halfPhi=M_PI, double avgPhi=0.) noexcept(false) | |
| m_closed (std::abs(halfPhi-M_PI)< s_epsilon) | |
| CylinderBounds (const std::array< double, eSize > &values) noexcept(false) | |
| ~CylinderBounds () override=default | |
| BoundsType | type () const final | 
| std::vector< double > | values () const final | 
| bool | inside (const Vector2D &lposition, const BoundaryCheck &bcheck) const final | 
| bool | inside3D (const Vector3D &position, const BoundaryCheck &bcheck=true) const | 
| double | get (BoundValues bValue) const | 
| bool | coversFullAzimuth () const | 
| Returns true for full phi coverage.   | |
| std::ostream & | toStream (std::ostream &sl) const final | 
| Output Method for std::ostream.   | |
  Public Member Functions inherited from Acts::SurfaceBounds | |
| virtual | ~SurfaceBounds ()=default | 
Private Member Functions | |
| void | checkConsistency () noexcept(false) | 
| Vector2D | shifted (const Vector2D &lposition) const | 
| ActsMatrixD< 2, 2 > | jacobian () const | 
| Return the jacobian into the polar coordinate.   | |
Private Attributes | |
| std::array< double, eSize > | m_values | 
| The bound radius, half Z, half phi and average phi.   | |
| bool | m_closed {false} | 
| Indicator if the bounds are closed.   | |
Bounds for a cylindrical Surface.
These bounds may be used for a CylinderSurface In case of bounds for a StraightLineSurface the radius determines the radius within a localPosition is regarded as inside bounds.
CylinderBounds also enhance the possibility of a cylinder segment with an opening angle 
 around an average 
 angle 
. 
Definition at line 35 of file CylinderBounds.hpp.
View newest version in sPHENIX GitHub at line 35 of file CylinderBounds.hpp
| enum Acts::CylinderBounds::BoundValues : int | 
Definition at line 37 of file CylinderBounds.hpp.
View newest version in sPHENIX GitHub at line 37 of file CylinderBounds.hpp
      
  | 
  delete | 
      
  | 
  inlinenoexcept | 
Constructor - full cylinder
| r | The radius of the cylinder | 
| halfZ | The half length in z | 
| halfPhi | The half opening angle | 
| avgPhi | (optional) The phi value from which the opening angle spans | 
Definition at line 53 of file CylinderBounds.hpp.
View newest version in sPHENIX GitHub at line 53 of file CylinderBounds.hpp
      
  | 
  inlinenoexcept | 
Constructor - from fixed size array
| values | The parameter values | 
Definition at line 63 of file CylinderBounds.hpp.
View newest version in sPHENIX GitHub at line 63 of file CylinderBounds.hpp
References checkConsistency().
 Here is the call graph for this function:
      
  | 
  overridedefault | 
      
  | 
  inlineprivatenoexcept | 
Check the input values for consistency, will throw a logic_exception if consistency is not given
Definition at line 135 of file CylinderBounds.hpp.
View newest version in sPHENIX GitHub at line 135 of file CylinderBounds.hpp
References eAveragePhi, eHalfLengthZ, eHalfPhiSector, eR, M_PI, and Acts::detail::radian_sym().
Referenced by CylinderBounds(), and m_closed().
 Here is the call graph for this function:
 Here is the caller graph for this function:
      
  | 
  inline | 
Returns true for full phi coverage.
Definition at line 131 of file CylinderBounds.hpp.
View newest version in sPHENIX GitHub at line 131 of file CylinderBounds.hpp
References m_closed().
 Here is the call graph for this function:
      
  | 
  inline | 
Access to the bound values
| bValue | the class nested enum for the array access | 
Definition at line 99 of file CylinderBounds.hpp.
View newest version in sPHENIX GitHub at line 99 of file CylinderBounds.hpp
References m_values.
Referenced by Acts::JsonGeometryConverter::addSurfaceToJson(), Acts::adjustBinUtility(), Acts::CylinderVolumeBuilder::analyzeContent(), Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::Test::BOOST_FIXTURE_TEST_CASE(), Acts::LayerArrayCreator::createNavigationSurface(), Acts::JsonGeometryConverter::DefaultBin(), Acts::CylinderVolumeHelper::estimateAndCheckDimension(), and ActsExamples::RootMaterialTrackWriter::writeT().
 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 40 of file CylinderBounds.cpp.
View newest version in sPHENIX GitHub at line 40 of file CylinderBounds.cpp
References Acts::BoundaryCheck::isInside(), and Acts::BoundaryCheck::transformed().
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
 Here is the call graph for this function:
 Here is the caller graph for this function:| bool Acts::CylinderBounds::inside3D | ( | const Vector3D & | position, | 
| const BoundaryCheck & | bcheck = true  | 
        ||
| ) | const | 
Specialized method for CylinderBounds that checks if a global position is within the the cylinder cover
| position | is the position in the cylinder frame | 
| bcheck | is the boundary check directive | 
Definition at line 48 of file CylinderBounds.cpp.
View newest version in sPHENIX GitHub at line 48 of file CylinderBounds.cpp
References kdfinder::abs(), Acts::BoundaryCheck::isInside(), Acts::BoundaryCheck::m_tolerance, Acts::BoundaryCheck::m_type, Acts::VectorHelpers::perp(), phi, Acts::detail::radian_sym(), Acts::s_onSurfaceTolerance, and Acts::BoundaryCheck::transformed().
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
 Here is the call graph for this function:
 Here is the caller graph for this function:
      
  | 
  private | 
Return the jacobian into the polar coordinate.
Definition at line 31 of file CylinderBounds.cpp.
View newest version in sPHENIX GitHub at line 31 of file CylinderBounds.cpp
References Acts::eBoundLoc0, and Acts::eBoundLoc1.
      
  | 
  inline | 
Definition at line 56 of file CylinderBounds.hpp.
View newest version in sPHENIX GitHub at line 56 of file CylinderBounds.hpp
References checkConsistency().
Referenced by coversFullAzimuth().
 Here is the call graph for this function:
 Here is the caller graph for this function:
      
  | 
  private | 
Helper method to shift into the phi-frame
| lposition | the polar coordinates in the global frame | 
Definition at line 24 of file CylinderBounds.cpp.
View newest version in sPHENIX GitHub at line 24 of file CylinderBounds.cpp
References Acts::eBoundLoc0, Acts::eBoundLoc1, and Acts::detail::radian_sym().
 Here is the call graph for this function:
      
  | 
  finalvirtual | 
Output Method for std::ostream.
Implements Acts::SurfaceBounds.
Definition at line 73 of file CylinderBounds.cpp.
View newest version in sPHENIX GitHub at line 73 of file CylinderBounds.cpp
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 20 of file CylinderBounds.cpp.
View newest version in sPHENIX GitHub at line 20 of file CylinderBounds.cpp
References Acts::SurfaceBounds::eCylinder.
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 125 of file CylinderBounds.hpp.
View newest version in sPHENIX GitHub at line 125 of file CylinderBounds.hpp
References m_values.
      
  | 
  private | 
Indicator if the bounds are closed.
Definition at line 111 of file CylinderBounds.hpp.
View newest version in sPHENIX GitHub at line 111 of file CylinderBounds.hpp
      
  | 
  private | 
The bound radius, half Z, half phi and average phi.
Definition at line 109 of file CylinderBounds.hpp.
View newest version in sPHENIX GitHub at line 109 of file CylinderBounds.hpp