![]() |
GeneralBrokenLines V03-01-04
using EIGEN
|
Simple helix. More...
#include <GblUtilities.h>
Public Member Functions | |
| GblSimpleHelix (double aRinv, double aPhi0, double aDca, double aDzds, double aZ0) | |
| Create simple helix. More... | |
| virtual | ~GblSimpleHelix () |
| double | getPhi (double aRadius) const |
| Get phi (of point on circle) for given radius (to ref. point) More... | |
| double | getArcLengthR (double aRadius) const |
| Get (2D) arc length for given radius (to ref. point) More... | |
| double | getArcLengthXY (double xPos, double yPos) const |
| Get (2D) arc length for given point. More... | |
| void | moveToXY (double xPos, double yPos, double &newPhi0, double &newDca, double &newZ0) const |
| Move to new reference point (X,Y) More... | |
| GblHelixPrediction | getPrediction (const Eigen::Vector3d &refPos, const Eigen::Vector3d &uDir, const Eigen::Vector3d &vDir) const |
| Get prediction. More... | |
Private Attributes | |
| const double | rinv |
| curvature (1/Radius) More... | |
| const double | phi0 |
| azimuth at PCA (point of closest approach to origin in XY plane, defines arc-length S=0) More... | |
| const double | dca |
| distance to origin in XY plane at PCA More... | |
| const double | dzds |
| slope in ZS plane (dZ/dS) More... | |
| const double | z0 |
| offset in ZS plane More... | |
| const double | cosPhi0 |
| cos(phi0) More... | |
| const double | sinPhi0 |
| sin(phi0) More... | |
| const double | xRelCenter |
| X position of circle center / R. More... | |
| const double | yRelCenter |
| Y position of circle center / R. More... | |
Simple helix.
Circle in XY plane, straight line in ZS.
Definition at line 78 of file GblUtilities.h.
| gbl::GblSimpleHelix::GblSimpleHelix | ( | double | aRinv, |
| double | aPhi0, | ||
| double | aDca, | ||
| double | aDzds, | ||
| double | aZ0 | ||
| ) |
Create simple helix.
Helix for constant magnetic field in Z direction.
| [in] | aRinv | curvature (1/R) |
| [in] | aPhi0 | azimuth at PCA |
| [in] | aDca | XY distance at PCA |
| [in] | aDzds | slope in ZS (tanLambda) |
| [in] | aZ0 | offset in ZS |
Definition at line 170 of file GblUtilities.cpp.
|
virtual |
Definition at line 178 of file GblUtilities.cpp.
| double gbl::GblSimpleHelix::getArcLengthR | ( | double | aRadius | ) | const |
Get (2D) arc length for given radius (to ref. point)
( |dca| < radius < |rad-2*dca|, from H1/cjfsxy )
| [in] | aRadius | radius |
Definition at line 199 of file GblUtilities.cpp.
Referenced by exampleComposedGeo(), exampleComposedKin(), and GblSimpleHelix_getArcLengthR().
| double gbl::GblSimpleHelix::getArcLengthXY | ( | double | xPos, |
| double | yPos | ||
| ) | const |
Get (2D) arc length for given point.
| [in] | xPos | X Position |
| [in] | yPos | Y Position |
Definition at line 223 of file GblUtilities.cpp.
References cosPhi0, phi0, rinv, sinPhi0, xRelCenter, and yRelCenter.
Referenced by exampleComposedGeo(), exampleComposedKin(), GblSimpleHelix_getArcLengthXY(), and getPrediction().
| double gbl::GblSimpleHelix::getPhi | ( | double | aRadius | ) | const |
Get phi (of point on circle) for given radius (to ref. point)
( |dca| < radius < |rad-2*dca|, from H1/cjfphi, not restricted to -Pi .. +Pi )
| [in] | aRadius | radius |
Definition at line 187 of file GblUtilities.cpp.
References dca, phi0, and rinv.
Referenced by exampleComposedGeo(), exampleComposedKin(), and GblSimpleHelix_getPhi().
| GblHelixPrediction gbl::GblSimpleHelix::getPrediction | ( | const Eigen::Vector3d & | refPos, |
| const Eigen::Vector3d & | uDir, | ||
| const Eigen::Vector3d & | vDir | ||
| ) | const |
Get prediction.
Definition at line 284 of file GblUtilities.cpp.
References cosPhi0, dca, dzds, getArcLengthXY(), phi0, rinv, sinPhi0, xRelCenter, yRelCenter, and z0.
Referenced by GblDetectorLayer_intersectWithHelix(), GblSimpleHelix_getPrediction(), and gbl::GblDetectorLayer::intersectWithHelix().
| void gbl::GblSimpleHelix::moveToXY | ( | double | xPos, |
| double | yPos, | ||
| double & | newPhi0, | ||
| double & | newDca, | ||
| double & | newZ0 | ||
| ) | const |
Move to new reference point (X,Y)
| [in] | xPos | X Position |
| [in] | yPos | Y Position |
| [out] | newPhi0 | new phi0 |
| [out] | newDca | new dca |
| [out] | newZ0 | new z0 |
Definition at line 246 of file GblUtilities.cpp.
References cosPhi0, dca, dzds, phi0, rinv, sinPhi0, and z0.
Referenced by exampleDc(), exampleSit(), and GblSimpleHelix_moveToXY().
|
private |
cos(phi0)
Definition at line 97 of file GblUtilities.h.
Referenced by getArcLengthXY(), getPrediction(), and moveToXY().
|
private |
distance to origin in XY plane at PCA
Definition at line 94 of file GblUtilities.h.
Referenced by getArcLengthR(), getPhi(), getPrediction(), and moveToXY().
|
private |
slope in ZS plane (dZ/dS)
Definition at line 95 of file GblUtilities.h.
Referenced by getPrediction(), and moveToXY().
|
private |
azimuth at PCA (point of closest approach to origin in XY plane, defines arc-length S=0)
Definition at line 93 of file GblUtilities.h.
Referenced by getArcLengthXY(), getPhi(), getPrediction(), and moveToXY().
|
private |
curvature (1/Radius)
Definition at line 92 of file GblUtilities.h.
Referenced by getArcLengthR(), getArcLengthXY(), getPhi(), getPrediction(), and moveToXY().
|
private |
sin(phi0)
Definition at line 98 of file GblUtilities.h.
Referenced by getArcLengthXY(), getPrediction(), and moveToXY().
|
private |
X position of circle center / R.
Definition at line 99 of file GblUtilities.h.
Referenced by getArcLengthXY(), and getPrediction().
|
private |
Y position of circle center / R.
Definition at line 100 of file GblUtilities.h.
Referenced by getArcLengthXY(), and getPrediction().
|
private |
offset in ZS plane
Definition at line 96 of file GblUtilities.h.
Referenced by getPrediction(), and moveToXY().