Belle II Software development
Helix Class Reference

Extension of the generalized circle also caching the perigee coordinates. More...

#include <Helix.h>

Public Member Functions

 Helix ()
 Default constructor for ROOT compatibility.
 
 Helix (const PerigeeCircle &circleXY, const SZLine &szLine)
 Constructor combining a two dimensional circle with the linear augment in the sz space.
 
 Helix (const HelixParameters &parameters)
 Constructor taking all stored parameters for internal use.
 
 Helix (double curvature, double phi0, double impact, double tanLambda, double z0)
 Constructor from all helix parameter.
 
 Helix (double curvature, const Vector2D &phi0Vec, double impact, double tanLambda, double z0)
 Constructor from all helix parameter, phi given as a unit vector.
 
void invalidate ()
 Sets all circle parameters to zero.
 
bool isInvalid () const
 Indicates if the stored parameter combination designates a valid helix.
 
void reverse ()
 Flips the travel direction of the helix in place, pivot point is unchanged.
 
Helix reversed () const
 Returns a copy of the helix with flips the travel direction, pivot point is the same.
 
double arcLength2DToClosest (const Vector3D &point, bool firstPeriod=true) const
 Calculates the perpendicular travel distance at which the helix has the closest approach to the given point.
 
double arcLength2DToXY (const Vector2D &point) const
 Calculates the two dimensional arc length that is closest to two dimensional point in the xy projection.
 
double arcLength2DToCylindricalR (double cylindricalR) const
 Calculates the two dimensional arc length that first reaches a cylindrical radius on the helix Returns NAN if the radius cannot be reached.
 
Vector3D closest (const Vector3D &point, bool firstPeriod=true) const
 Calculates the point on the helix with the smallest total distance.
 
Vector3D closestXY (const Vector2D &pointXY) const
 Calculates the point on the helix with the smallest perpendicular (xy) distance.
 
double distance (const Vector3D &point) const
 Calculates the distance of the point to the point of closest approach on the helix.
 
double distanceXY (const Vector2D &point) const
 Calculates the distance of the line parallel to the z axes through the given point.
 
double passiveMoveBy (const Vector3D &by)
 Moves the coordinates system by the given vector.
 
HelixJacobian passiveMoveByJacobian (const Vector3D &by) const
 Computes the Jacobi matrix for a move of the coordinate system by the given vector.
 
double shiftPeriod (int nPeriods)
 Adjust the arclength measure to start n periods later.
 
Vector3D atArcLength2D (double s) const
 Calculates the point, which lies at the give perpendicular travel distance (counted from the perigee)
 
Vector3D atZ (double z) const
 Calculates the point, which lies at the given z coordinate.
 
Vector2D xyAtZ (double z) const
 Calculates the point, which lies at the given z coordinate.
 
double minimalCylindricalR () const
 Gives the minimal cylindrical radius the circle reaches (unsigned)
 
double maximalCylindricalR () const
 Gives the maximal cylindrical radius the circle reaches.
 
double curvatureXY () const
 Getter for the signed curvature in the xy projection.
 
double impactXY () const
 Getter for the signed distance to the z axes at the perigee point.
 
double omega () const
 Getter for the omega parameter of the common helix parameterisation.
 
double d0 () const
 Getter for the signed distance to the z axes at the perigee point.
 
Vector2D perigeeXY () const
 Getter for the perigee point in the xy projection.
 
Vector3D perigee () const
 Getter for the perigee point of the helix.
 
double tanLambda () const
 Getter for the proportinality factor from arc length in xy space to z.
 
double cotTheta () const
 Getter for the proportinality factor from arc length in xy space to z.
 
double z0 () const
 Getter for z coordinate at the perigee point of the helix.
 
double zPeriod () const
 Getter for the distance in z at which the two points on the helix coincide in the xy projection.
 
double arcLength2DPeriod () const
 Getter for the arc length of one trip around the helix.
 
double perimeterXY () const
 Getter for the perimeter of the circle in the xy projection.
 
double radiusXY () const
 Getter for the radius of the circle in the xy projection.
 
Vector2D centerXY () const
 Getter for the central point of the helix.
 
Vector3D tangential () const
 Getter for the unit three dimensional tangential vector at the perigee point of the helix.
 
const Vector2Dphi0Vec () const
 Getter for the direction vector in the xy projection at the perigee of the helix.
 
double phi0 () const
 Getter for the azimuth angle of the direction of flight at the perigee.
 
HelixParameters helixParameters () const
 Getter for the five helix parameters in the order defined by EHelixParameter.h.
 
const PerigeeCirclecircleXY () const
 Getter for the projection into xy space.
 
const SZLineszLine () const
 Getter for the projection into xy space.
 

Private Attributes

PerigeeCircle m_circleXY
 Memory of the projection of the helix in xy space.
 
SZLine m_szLine
 Memory of the of the linear relation between perpendicular travel distance and the z position.
 

Detailed Description

Extension of the generalized circle also caching the perigee coordinates.

Definition at line 28 of file Helix.h.

Constructor & Destructor Documentation

◆ Helix() [1/5]

Helix ( )
inline

Default constructor for ROOT compatibility.

Definition at line 32 of file Helix.h.

33 : m_circleXY()
34 , m_szLine()
35 {
36 }
PerigeeCircle m_circleXY
Memory of the projection of the helix in xy space.
Definition: Helix.h:333
SZLine m_szLine
Memory of the of the linear relation between perpendicular travel distance and the z position.
Definition: Helix.h:337

◆ Helix() [2/5]

Helix ( const PerigeeCircle circleXY,
const SZLine szLine 
)
inline

Constructor combining a two dimensional circle with the linear augment in the sz space.

Definition at line 39 of file Helix.h.

42 {
43 }
const PerigeeCircle & circleXY() const
Getter for the projection into xy space.
Definition: Helix.h:320
const SZLine & szLine() const
Getter for the projection into xy space.
Definition: Helix.h:326

◆ Helix() [3/5]

Helix ( const HelixParameters parameters)
inlineexplicit

Constructor taking all stored parameters for internal use.

Definition at line 46 of file Helix.h.

49 {
50 }
static SZUtil::ParameterVector getSZParameters(const ParameterVector &helixPar)
Get sz parameters.
static PerigeeUtil::ParameterVector getPerigeeParameters(const ParameterVector &helixPar)
Get helix parameters related to the xy space.

◆ Helix() [4/5]

Helix ( double  curvature,
double  phi0,
double  impact,
double  tanLambda,
double  z0 
)
inline

Constructor from all helix parameter.

Definition at line 53 of file Helix.h.

54 : m_circleXY(curvature, phi0, impact)
56 {
57 }
double z0() const
Getter for z coordinate at the perigee point of the helix.
Definition: Helix.h:252
double phi0() const
Getter for the azimuth angle of the direction of flight at the perigee.
Definition: Helix.h:301
double tanLambda() const
Getter for the proportinality factor from arc length in xy space to z.
Definition: Helix.h:240

◆ Helix() [5/5]

Helix ( double  curvature,
const Vector2D phi0Vec,
double  impact,
double  tanLambda,
double  z0 
)
inline

Constructor from all helix parameter, phi given as a unit vector.

Definition at line 60 of file Helix.h.

61 : m_circleXY(curvature, phi0Vec, impact)
63 {
64 }
const Vector2D & phi0Vec() const
Getter for the direction vector in the xy projection at the perigee of the helix.
Definition: Helix.h:295

Member Function Documentation

◆ arcLength2DPeriod()

double arcLength2DPeriod ( ) const
inline

Getter for the arc length of one trip around the helix.

Definition at line 265 of file Helix.h.

266 {
267 return circleXY().arcLengthPeriod();
268 }
double arcLengthPeriod() const
Getter for the arc length for a full round of the circle.

◆ arcLength2DToClosest()

double arcLength2DToClosest ( const Vector3D point,
bool  firstPeriod = true 
) const

Calculates the perpendicular travel distance at which the helix has the closest approach to the given point.

Definition at line 29 of file Helix.cc.

30{
31 // The point may happen to lie in the center of the helix.
32 double d0 = circleXY().distance(point.xy());
33 double denominator = 1 + curvatureXY() * d0;
34 if (denominator == 0) {
35 // When this happens we can optimise the z distance for the closest point
36 double arcLength2D = (point.z() - z0()) / tanLambda();
37 if (not std::isfinite(arcLength2D)) {
38 return 0.0;
39 } else {
40 return arcLength2D;
41 }
42 }
43
44 // First approximation optimising the xy distance.
45 double arcLength2D = circleXY().arcLengthTo(point.xy());
46 // In case the helix is a flat circle with no extend into z this is the actual solution
47 if (tanLambda() == 0) {
48 return arcLength2D;
49 }
50
51 double deltaZ = point.z() - szLine().map(arcLength2D);
52 if (not firstPeriod) {
53 if (fabs(deltaZ) > zPeriod() / 2) {
54 double newDeltaZ = std::remainder(deltaZ, zPeriod());
55 double nPeriodShift = (deltaZ - newDeltaZ) / zPeriod();
56 arcLength2D += nPeriodShift * perimeterXY();
57 deltaZ = newDeltaZ;
58 }
59 }
60
61 using boost::math::tools::brent_find_minima;
62
63 auto distance3D = [this, &point](const double & s) -> double {
64 Vector3D pos = atArcLength2D(s);
65 return pos.distance(point);
66 };
67
68 double searchWidth = std::fmin(perimeterXY(), 2 * deltaZ / tanLambda());
69
70 double lowerS = arcLength2D - searchWidth;
71 double upperS = arcLength2D + searchWidth;
72
73 int bits = std::numeric_limits<double>::digits;
74 boost::uintmax_t nMaxIter = 100;
75
76 std::pair<double, double> sBounds = brent_find_minima(distance3D, lowerS, upperS, bits, nMaxIter);
77
78 // Stopped before iterations were exhausted?
79 // bool converged = nMaxIter > 0;
80
81 double firstDistance = distance3D(sBounds.first);
82 double secondDistance = distance3D(sBounds.second);
83 if (firstDistance < secondDistance) {
84 return sBounds.first;
85 } else {
86 return sBounds.second;
87 }
88}
double perimeterXY() const
Getter for the perimeter of the circle in the xy projection.
Definition: Helix.h:271
double curvatureXY() const
Getter for the signed curvature in the xy projection.
Definition: Helix.h:204
double zPeriod() const
Getter for the distance in z at which the two points on the helix coincide in the xy projection.
Definition: Helix.h:259
double d0() const
Getter for the signed distance to the z axes at the perigee point.
Definition: Helix.h:222
Vector3D atArcLength2D(double s) const
Calculates the point, which lies at the give perpendicular travel distance (counted from the perigee)
Definition: Helix.h:174
double distance(const Vector2D &point) const
Getter for the proper signed distance of the point to the circle.
double arcLengthTo(const Vector2D &point) const
Calculates the arc length between the perigee and the given point.
double map(double s) const
Maps the two dimensional arc length s to z.
Definition: SZLine.h:116
A three dimensional vector.
Definition: Vector3D.h:33
const Vector2D & xy() const
Getter for the xy projected vector ( reference ! )
Definition: Vector3D.h:508
double z() const
Getter for the z coordinate.
Definition: Vector3D.h:496

◆ arcLength2DToCylindricalR()

double arcLength2DToCylindricalR ( double  cylindricalR) const
inline

Calculates the two dimensional arc length that first reaches a cylindrical radius on the helix Returns NAN if the radius cannot be reached.

Definition at line 112 of file Helix.h.

113 {
114 return circleXY().arcLengthToCylindricalR(cylindricalR);
115 }
double arcLengthToCylindricalR(double cylindricalR) const
Calculates the two dimensional arc length till the cylindrical radius is reached If the radius can no...

◆ arcLength2DToXY()

double arcLength2DToXY ( const Vector2D point) const
inline

Calculates the two dimensional arc length that is closest to two dimensional point in the xy projection.

Always gives a solution in the first half period in the positive or negative direction

Definition at line 102 of file Helix.h.

103 {
104 return circleXY().arcLengthTo(point);
105 }

◆ atArcLength2D()

Vector3D atArcLength2D ( double  s) const
inline

Calculates the point, which lies at the give perpendicular travel distance (counted from the perigee)

Definition at line 174 of file Helix.h.

175 {
176 return Vector3D(circleXY().atArcLength(s), szLine().map(s));
177 }
HepGeom::Vector3D< double > Vector3D
3D Vector
Definition: Cell.h:34

◆ atZ()

Vector3D atZ ( double  z) const
inline

Calculates the point, which lies at the given z coordinate.

Definition at line 180 of file Helix.h.

181 {
182 return Vector3D(xyAtZ(z), z);
183 }
Vector2D xyAtZ(double z) const
Calculates the point, which lies at the given z coordinate.
Definition: Helix.h:186

◆ centerXY()

Vector2D centerXY ( ) const
inline

Getter for the central point of the helix.

Definition at line 283 of file Helix.h.

284 {
285 return circleXY().center();
286 }
Vector2D center() const
Getter for the center of the circle. If it was a line both components will be infinity.

◆ circleXY()

const PerigeeCircle & circleXY ( ) const
inline

Getter for the projection into xy space.

Definition at line 320 of file Helix.h.

321 {
322 return m_circleXY;
323 }

◆ closest()

Vector3D closest ( const Vector3D point,
bool  firstPeriod = true 
) const
inline

Calculates the point on the helix with the smallest total distance.

Definition at line 118 of file Helix.h.

119 {
120 double arcLength2D = arcLength2DToClosest(point, firstPeriod);
121 return atArcLength2D(arcLength2D);
122 }
double arcLength2DToClosest(const Vector3D &point, bool firstPeriod=true) const
Calculates the perpendicular travel distance at which the helix has the closest approach to the given...
Definition: Helix.cc:29

◆ closestXY()

Vector3D closestXY ( const Vector2D pointXY) const
inline

Calculates the point on the helix with the smallest perpendicular (xy) distance.

Definition at line 125 of file Helix.h.

126 {
127 double arcLength2D = arcLength2DToXY(pointXY);
128 return atArcLength2D(arcLength2D);
129 }
double arcLength2DToXY(const Vector2D &point) const
Calculates the two dimensional arc length that is closest to two dimensional point in the xy projecti...
Definition: Helix.h:102

◆ cotTheta()

double cotTheta ( ) const
inline

Getter for the proportinality factor from arc length in xy space to z.

Definition at line 246 of file Helix.h.

247 {
248 return tanLambda();
249 }

◆ curvatureXY()

double curvatureXY ( ) const
inline

Getter for the signed curvature in the xy projection.

Definition at line 204 of file Helix.h.

205 {
206 return circleXY().curvature();
207 }
double curvature() const
Getter for the signed curvature.

◆ d0()

double d0 ( ) const
inline

Getter for the signed distance to the z axes at the perigee point.

Definition at line 222 of file Helix.h.

223 {
224 return circleXY().d0();
225 }
double d0() const
Getter for d0 parameter of the common Belle2::Helix representation.

◆ distance()

double distance ( const Vector3D point) const
inline

Calculates the distance of the point to the point of closest approach on the helix.

Definition at line 132 of file Helix.h.

133 {
134 return point.distance(closest(point));
135 }
Vector3D closest(const Vector3D &point, bool firstPeriod=true) const
Calculates the point on the helix with the smallest total distance.
Definition: Helix.h:118

◆ distanceXY()

double distanceXY ( const Vector2D point) const
inline

Calculates the distance of the line parallel to the z axes through the given point.

Definition at line 138 of file Helix.h.

139 {
140 return m_circleXY.distance(point);
141 }

◆ helixParameters()

HelixParameters helixParameters ( ) const
inline

Getter for the five helix parameters in the order defined by EHelixParameter.h.

Definition at line 307 of file Helix.h.

308 {
309 HelixParameters result;
310 using namespace NHelixParameterIndices;
311 result(c_Curv) = curvatureXY();
312 result(c_Phi0) = phi0();
313 result(c_I) = impactXY();
314 result(c_TanL) = tanLambda();
315 result(c_Z0) = z0();
316 return result;
317 }
double impactXY() const
Getter for the signed distance to the z axes at the perigee point.
Definition: Helix.h:210

◆ impactXY()

double impactXY ( ) const
inline

Getter for the signed distance to the z axes at the perigee point.

Definition at line 210 of file Helix.h.

211 {
212 return circleXY().impact();
213 }
double impact() const
Getter for the signed distance of the origin to the circle.

◆ invalidate()

void invalidate ( )
inline

Sets all circle parameters to zero.

Definition at line 67 of file Helix.h.

68 {
71 }
void invalidate()
Sets all circle parameters to zero.
void invalidate()
Sets the parameters to a invalid representation.
Definition: SZLine.h:135

◆ isInvalid()

bool isInvalid ( ) const
inline

Indicates if the stored parameter combination designates a valid helix.

Definition at line 74 of file Helix.h.

75 {
76 return circleXY().isInvalid() and szLine().isInvalid();
77 }
bool isInvalid() const
Indicates if all circle parameters are zero.
bool isInvalid() const
Indicates if the line parameters do not represent a valid line.
Definition: SZLine.h:142

◆ maximalCylindricalR()

double maximalCylindricalR ( ) const
inline

Gives the maximal cylindrical radius the circle reaches.

Definition at line 198 of file Helix.h.

199 {
200 return circleXY().maximalCylindricalR();
201 }
double maximalCylindricalR() const
Gives the maximal cylindrical radius the circle reaches.

◆ minimalCylindricalR()

double minimalCylindricalR ( ) const
inline

Gives the minimal cylindrical radius the circle reaches (unsigned)

Definition at line 192 of file Helix.h.

193 {
194 return circleXY().minimalCylindricalR();
195 }
double minimalCylindricalR() const
Gives the minimal cylindrical radius the circle reaches (unsigned)

◆ omega()

double omega ( ) const
inline

Getter for the omega parameter of the common helix parameterisation.

Definition at line 216 of file Helix.h.

217 {
218 return circleXY().omega();
219 }
double omega() const
Getter for omega parameter of the common Belle2::Helix which is the wrong sign curvature.

◆ passiveMoveBy()

double passiveMoveBy ( const Vector3D by)
inline

Moves the coordinates system by the given vector.

Updates perigee point in place.

Returns
arcLength2D that has to be traversed to the new origin

Definition at line 147 of file Helix.h.

148 {
149 // First keep the necessary shift of the perpendicular travel distance to the new perigee
150 // point.
151 double byS = circleXY().arcLengthTo(by.xy());
152 m_circleXY.passiveMoveBy(by.xy());
153 Vector2D bySZ(byS, by.z());
155 return byS;
156 }
void passiveMoveBy(const Vector2D &by)
Moves the coordinates system by the given vector. Updates perigee parameters in place.
void passiveMoveBy(const Vector2D &bySZ)
Passively move the coordinate system in place by the given sz vector.
Definition: SZLine.h:184

◆ passiveMoveByJacobian()

HelixJacobian passiveMoveByJacobian ( const Vector3D by) const

Computes the Jacobi matrix for a move of the coordinate system by the given vector.

Definition at line 90 of file Helix.cc.

91{
92 // Fills the upper left 3x3 corner.
93 PerigeeJacobian perigeeJacobian = circleXY().passiveMoveByJacobian(by.xy());
94 SZJacobian szJacobian = SZUtil::identity();
95 HelixJacobian jacobian = HelixUtil::stackBlocks(perigeeJacobian, szJacobian);
96
97 double curv = curvatureXY();
98 double tanL = tanLambda();
99 double sArc = circleXY().arcLengthTo(by.xy());
100
101 using namespace NHelixParameterIndices;
102 jacobian(c_Z0, c_Curv) = tanL * (jacobian(c_Phi0, c_Curv) - sArc) / curv;
103 jacobian(c_Z0, c_Phi0) = tanL * (jacobian(c_Phi0, c_Phi0) - 1.) / curv;
104 jacobian(c_Z0, c_I) = tanL * jacobian(c_Phi0, c_I) / curv;
105 jacobian(c_Z0, c_TanL) = sArc;
106
107 return jacobian;
108}
PerigeeJacobian passiveMoveByJacobian(const Vector2D &by) const
Computes the Jacobi matrix for a move of the coordinate system by the given vector.
A matrix implementation to be used as an interface typ through out the track finder.
Definition: PlainMatrix.h:40
static HelixUtil::CovarianceMatrix stackBlocks(const PerigeeUtil::CovarianceMatrix &perigeeCov, const SZUtil::CovarianceMatrix &szCov)
Combine covariance matrices from the xy space and the sz space in their respective blocks.

◆ perigee()

Vector3D perigee ( ) const
inline

Getter for the perigee point of the helix.

Definition at line 234 of file Helix.h.

235 {
236 return Vector3D(perigeeXY(), z0());
237 }
Vector2D perigeeXY() const
Getter for the perigee point in the xy projection.
Definition: Helix.h:228

◆ perigeeXY()

Vector2D perigeeXY ( ) const
inline

Getter for the perigee point in the xy projection.

Definition at line 228 of file Helix.h.

229 {
230 return circleXY().perigee();
231 }
Vector2D perigee() const
Getter for the perigee point.

◆ perimeterXY()

double perimeterXY ( ) const
inline

Getter for the perimeter of the circle in the xy projection.

Definition at line 271 of file Helix.h.

272 {
273 return circleXY().perimeter();
274 }
double perimeter() const
Gives the signed perimeter of the circle.

◆ phi0()

double phi0 ( ) const
inline

Getter for the azimuth angle of the direction of flight at the perigee.

Definition at line 301 of file Helix.h.

302 {
303 return circleXY().phi0();
304 }
double phi0() const
Getter for the azimuth angle of the direction of flight at the perigee.

◆ phi0Vec()

const Vector2D & phi0Vec ( ) const
inline

Getter for the direction vector in the xy projection at the perigee of the helix.

Definition at line 295 of file Helix.h.

296 {
297 return circleXY().phi0Vec();
298 }
const Vector2D & phi0Vec() const
Getter for the unit vector of the direction of flight at the perigee.

◆ radiusXY()

double radiusXY ( ) const
inline

Getter for the radius of the circle in the xy projection.

Definition at line 277 of file Helix.h.

278 {
279 return circleXY().radius();
280 }
double radius() const
Gives the signed radius of the circle. If it was a line this will be infinity.

◆ reverse()

void reverse ( )
inline

Flips the travel direction of the helix in place, pivot point is unchanged.

Definition at line 80 of file Helix.h.

81 {
84 }
void reverse()
Flips the orientation of the circle in place.
void reverse()
Reverse the arc length direction in place.
Definition: SZLine.h:148

◆ reversed()

Helix reversed ( ) const
inline

Returns a copy of the helix with flips the travel direction, pivot point is the same.

Definition at line 87 of file Helix.h.

88 {
89 return Helix(circleXY().reversed(), szLine().reversed());
90 }
Helix reversed() const
Returns a copy of the helix with flips the travel direction, pivot point is the same.
Definition: Helix.h:87
Helix()
Default constructor for ROOT compatibility.
Definition: Helix.h:32

◆ shiftPeriod()

double shiftPeriod ( int  nPeriods)
inline

Adjust the arclength measure to start n periods later.

Returns
The arc length needed to travel n periods.

Definition at line 165 of file Helix.h.

166 {
167 double arcLength2D = nPeriods * fabs(perimeterXY());
168 m_szLine.passiveMoveBy(Vector2D(arcLength2D, 0.0));
169 return arcLength2D;
170 }

◆ szLine()

const SZLine & szLine ( ) const
inline

Getter for the projection into xy space.

Definition at line 326 of file Helix.h.

327 {
328 return m_szLine;
329 }

◆ tangential()

Vector3D tangential ( ) const
inline

Getter for the unit three dimensional tangential vector at the perigee point of the helix.

Definition at line 289 of file Helix.h.

290 {
291 return Vector3D(phi0Vec(), tanLambda()).unit();
292 }

◆ tanLambda()

double tanLambda ( ) const
inline

Getter for the proportinality factor from arc length in xy space to z.

Definition at line 240 of file Helix.h.

241 {
242 return m_szLine.tanLambda();
243 }
double tanLambda() const
Getter for the tan lambda parameter.
Definition: SZLine.h:52

◆ xyAtZ()

Vector2D xyAtZ ( double  z) const
inline

Calculates the point, which lies at the given z coordinate.

Definition at line 186 of file Helix.h.

187 {
188 return Vector2D(circleXY().atArcLength(szLine().inverseMap(z)));
189 }

◆ z0()

double z0 ( ) const
inline

Getter for z coordinate at the perigee point of the helix.

Definition at line 252 of file Helix.h.

253 {
254 return m_szLine.z0();
255 }
double z0() const
Getter for the z0 parameter.
Definition: SZLine.h:82

◆ zPeriod()

double zPeriod ( ) const
inline

Getter for the distance in z at which the two points on the helix coincide in the xy projection.

Definition at line 259 of file Helix.h.

260 {
261 return tanLambda() * arcLength2DPeriod();
262 }
double arcLength2DPeriod() const
Getter for the arc length of one trip around the helix.
Definition: Helix.h:265

Member Data Documentation

◆ m_circleXY

PerigeeCircle m_circleXY
private

Memory of the projection of the helix in xy space.

Definition at line 333 of file Helix.h.

◆ m_szLine

SZLine m_szLine
private

Memory of the of the linear relation between perpendicular travel distance and the z position.

Definition at line 337 of file Helix.h.


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