Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::ConeBounds Class Reference

#include <acts/blob/sPHENIX/Core/include/Acts/Surfaces/ConeBounds.hpp>

+ Inheritance diagram for Acts::ConeBounds:
+ Collaboration diagram for Acts::ConeBounds:

Public Types

enum  BoundValues : int {
  eAlpha = 0, eMinZ = 1, eMaxZ = 2, eHalfPhiSector = 3,
  eAveragePhi = 4, eSize = 5
}
 
- Public Types inherited from Acts::SurfaceBounds
enum  BoundsType : int {
  eCone = 0, eCylinder = 1, eDiamond = 2, eDisc = 3,
  eEllipse = 4, eLine = 5, eRectangle = 6, eTrapezoid = 7,
  eTriangle = 8, eDiscTrapezoid = 9, eConvexPolygon = 10, eAnnulus = 11,
  eBoundless = 12, eOther = 13
}
 

Public Member Functions

 ConeBounds ()=delete
 
 ConeBounds (double alpha, bool symm, double halfphi=M_PI, double avphi=0.) noexcept(false)
 
 ConeBounds (double alpha, double minz, double maxz, double halfphi=M_PI, double avphi=0.) noexcept(false)
 
 ConeBounds (const std::array< double, eSize > &values) noexcept(false)
 
 ~ConeBounds () override=default
 
BoundsType type () const final
 
std::vector< doublevalues () const final
 
bool inside (const Vector2 &lposition, const BoundaryCheck &bcheck=true) const final
 
std::ostream & toStream (std::ostream &sl) const final
 
double r (double z) const
 
double tanAlpha () const
 Return tangent of alpha (pre-computed)
 
double get (BoundValues bValue) const
 
- Public Member Functions inherited from Acts::SurfaceBounds
virtual ~SurfaceBounds ()=default
 

Private Member Functions

void checkConsistency () noexcept(false)
 
Vector2 shifted (const Vector2 &lposition) const
 Shift r-phi coordinate to be centered around the average phi.
 

Private Attributes

std::array< double, eSizem_values
 
double m_tanAlpha
 

Detailed Description

Bounds for a conical surface, the opening angle is stored in $ \tan(\alpha) $ and always positively defined. The cone can open to both sides, steered by $ z_min $ and $ z_max $.

ConeBounds.gif

Definition at line 37 of file ConeBounds.hpp.

View newest version in sPHENIX GitHub at line 37 of file ConeBounds.hpp

Member Enumeration Documentation

Enumerator:
eAlpha 
eMinZ 
eMaxZ 
eHalfPhiSector 
eAveragePhi 
eSize 

Definition at line 39 of file ConeBounds.hpp.

View newest version in sPHENIX GitHub at line 39 of file ConeBounds.hpp

Constructor & Destructor Documentation

Acts::ConeBounds::ConeBounds ( )
delete
Acts::ConeBounds::ConeBounds ( double  alpha,
bool  symm,
double  halfphi = M_PI,
double  avphi = 0. 
)
noexcept

Constructor - open cone with alpha, by default a full cone but optionally can make a conical section

Parameters
alphais the opening angle of the cone
symmis the boolean indicating if the cone is symmetric in +/- z
halfphiis the half opening angle (default is pi)
avphiis the phi value around which the bounds are opened (default=0)

Definition at line 18 of file ConeBounds.cpp.

View newest version in sPHENIX GitHub at line 18 of file ConeBounds.cpp

References alpha.

Acts::ConeBounds::ConeBounds ( double  alpha,
double  minz,
double  maxz,
double  halfphi = M_PI,
double  avphi = 0. 
)
noexcept

Constructor - open cone with alpha, minz and maxz, by default a full cone but can optionally make it a conical section

Parameters
alphais the opening angle of the cone
minzcone expanding from minimal z
maxzcone expanding to maximal z
halfphiis the half opening angle (default is pi)
avphiis the phi value around which the bounds are opened (default=0)

Definition at line 26 of file ConeBounds.cpp.

View newest version in sPHENIX GitHub at line 26 of file ConeBounds.cpp

References alpha.

Acts::ConeBounds::ConeBounds ( const std::array< double, eSize > &  values)
noexcept

Constructor - from parameters array

Parameters
valuesThe parameter array

Definition at line 33 of file ConeBounds.cpp.

View newest version in sPHENIX GitHub at line 33 of file ConeBounds.cpp

Acts::ConeBounds::~ConeBounds ( )
overridedefault

Member Function Documentation

void Acts::ConeBounds::checkConsistency ( )
inlineprivatenoexcept

Check the input values for consistency, will throw a logic_exception if consistency is not given

Definition at line 142 of file ConeBounds.hpp.

View newest version in sPHENIX GitHub at line 142 of file ConeBounds.hpp

References eAlpha, eAveragePhi, eHalfPhiSector, eMaxZ, eMinZ, Acts::detail::radian_sym(), and Acts::s_epsilon.

+ Here is the call graph for this function:

double Acts::ConeBounds::get ( BoundValues  bValue) const
inline

Access to the bound values

Parameters
bValuethe class nested enum for the array access

Definition at line 112 of file ConeBounds.hpp.

View newest version in sPHENIX GitHub at line 112 of file ConeBounds.hpp

References m_values.

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().

+ Here is the caller graph for this function:

bool Acts::ConeBounds::inside ( const Vector2 lposition,
const BoundaryCheck bcheck = true 
) const
finalvirtual

inside method for local position

Parameters
lpositionis the local position to be checked
bcheckis the boundary check directive
Returns
is a boolean indicating if the position is inside

Implements Acts::SurfaceBounds.

Definition at line 57 of file ConeBounds.cpp.

View newest version in sPHENIX GitHub at line 57 of file ConeBounds.cpp

References Acts::eBoundLoc1, Acts::BoundaryCheck::isInside(), and physmon_track_finding_ttbar::r.

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double Acts::ConeBounds::r ( double  z) const
inline

Return the radius at a specific z values

Parameters
zis the z value for which r is requested
Returns
is the r value associated with z

Definition at line 128 of file ConeBounds.hpp.

View newest version in sPHENIX GitHub at line 128 of file ConeBounds.hpp

References m_tanAlpha.

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().

+ Here is the caller graph for this function:

Acts::Vector2 Acts::ConeBounds::shifted ( const Vector2 lposition) const
private

Shift r-phi coordinate to be centered around the average phi.

Private helper function to shift a local 2D position

Parameters
lpositionThe original local position

Definition at line 44 of file ConeBounds.cpp.

View newest version in sPHENIX GitHub at line 44 of file ConeBounds.cpp

References Acts::eBoundLoc0, Acts::eBoundLoc1, physmon_track_finding_ttbar::r, Acts::detail::radian_sym(), and ambiguity_solver_full_chain::x.

+ Here is the call graph for this function:

double Acts::ConeBounds::tanAlpha ( ) const
inline

Return tangent of alpha (pre-computed)

Definition at line 132 of file ConeBounds.hpp.

View newest version in sPHENIX GitHub at line 132 of file ConeBounds.hpp

References m_tanAlpha.

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().

+ Here is the caller graph for this function:

std::ostream & Acts::ConeBounds::toStream ( std::ostream &  sl) const
finalvirtual

Output Method for std::ostream

Parameters
slis the ostrea into which the dump is done
Returns
is the input object

Implements Acts::SurfaceBounds.

Definition at line 64 of file ConeBounds.cpp.

View newest version in sPHENIX GitHub at line 64 of file ConeBounds.cpp

References m_tanAlpha().

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Acts::SurfaceBounds::BoundsType Acts::ConeBounds::type ( ) const
finalvirtual

Return the bounds type - for persistency optimization

Returns
is a BoundsType enum

Implements Acts::SurfaceBounds.

Definition at line 39 of file ConeBounds.cpp.

View newest version in sPHENIX GitHub at line 39 of file ConeBounds.cpp

References Acts::SurfaceBounds::eCone.

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().

+ Here is the caller graph for this function:

std::vector< double > Acts::ConeBounds::values ( ) const
inlinefinalvirtual

Return the bound values as dynamically sized vector

Returns
this returns a copy of the internal values

Implements Acts::SurfaceBounds.

Definition at line 136 of file ConeBounds.hpp.

View newest version in sPHENIX GitHub at line 136 of file ConeBounds.hpp

References m_values.

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().

+ Here is the caller graph for this function:

Member Data Documentation

double Acts::ConeBounds::m_tanAlpha
private

Definition at line 116 of file ConeBounds.hpp.

View newest version in sPHENIX GitHub at line 116 of file ConeBounds.hpp

Referenced by r(), and tanAlpha().

std::array<double, eSize> Acts::ConeBounds::m_values
private

Definition at line 115 of file ConeBounds.hpp.

View newest version in sPHENIX GitHub at line 115 of file ConeBounds.hpp

Referenced by get(), and values().


The documentation for this class was generated from the following files: