Belle II Software  release-08-01-10
Helix Class Reference

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

#include <Helix.h>

Collaboration diagram for Helix:

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. More...
 
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. More...
 
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. More...
 
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.

Member Function Documentation

◆ 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  }
const PerigeeCircle & circleXY() const
Getter for the projection into xy space.
Definition: Helix.h:320
double arcLengthTo(const Vector2D &point) const
Calculates the arc length between the perigee and the given point.

◆ 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.

◆ 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.


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