MarlinKinfit  0.4.0
Public Member Functions | List of all members
JBLHelix Class Reference

A helix, parametrized by (kappa, phi0, theta, dca, z0) More...

#include <JBLHelix.h>

Public Member Functions

 JBLHelix (double kappa, double phi0, double theta, double dca, double z0)
 Constructor from (kappa, phi0, theta, dca, z0) More...
 
 JBLHelix (double par_[])
 Constructor from an array of values. More...
 
 ~JBLHelix ()
 Destructor.
 
double getPar (int i)
 Get value of parameter i. More...
 
JBLHelixsetPar (int i, double par_)
 Set value of parameter i. More...
 
int getClosestApproach (const JBLHelix &h1, double &s0, double &s1, double &s02nd, double &s12nd) const
 Get arc lengths for point where another helix comes closest. More...
 
double getClosestS (const TwoVector &p) const
 Return s of point on helix where helix comes closest in (x,y) to given point. More...
 
double getClosestS (const ThreeVector &p) const
 Return s of point on helix where helix comes closest in (x,y) to given point. More...
 
void getTrajectoryPointEx (double s, ThreeVector &p) const
 Get point along trajectory into existing 3-vector.
 
ThreeVector getTrajectoryPoint (double s) const
 Get point along trajectory.
 
double getTrajectoryZ (double s) const
 Get z value along trajectory.
 
void getCenterPointEx (TwoVector &p) const
 Get center point of trajectory into existing 2-vector.
 
TwoVector getCenterPoint () const
 Get center point of trajectory.
 
double getNormalS (double s) const
 Get smallest s that corresponds to same (x, y)
 

Detailed Description

A helix, parametrized by (kappa, phi0, theta, dca, z0)

The main purpose of an JBLHelix is that it can be "intersected" with another JBLHelix object, giving estimates for arc length values s1 and s2 of the two helices where the two helices intersect each other in r/phi and come closest in z

Parameters:

Constructor & Destructor Documentation

JBLHelix::JBLHelix ( double  kappa,
double  phi0,
double  theta,
double  dca,
double  z0 
)

Constructor from (kappa, phi0, theta, dca, z0)

Parameters
kappakappa
phi0phi0
thetatheta
dcadca
z0z0

References setPar().

JBLHelix::JBLHelix ( double  par_[])

Constructor from an array of values.

Parameters
par_Parameters (kappa, phi0, theta, dca, z0)

References setPar().

Member Function Documentation

int JBLHelix::getClosestApproach ( const JBLHelix h1,
double &  s0,
double &  s1,
double &  s02nd,
double &  s12nd 
) const

Get arc lengths for point where another helix comes closest.

This routine intersects the helices in the (x, y) plane, and then returns the arclengths corresponding to the best intersection point, where the helices come closest in z. If the helices don't intersect in (x, y), the point where they come closest in (x,y) is returned.

The return value indicates: 1: circles touch, just one intersection point 2: circles intersect, 2 intersection points 0: circles dont intersect, point is best approximation

Parameters
h1The second helix
s0This helix's arc length of the best point
s1The 2nd helix's arc length of the best point
s02ndThis helix's arc length of the 2nd best point
s12ndThe 2nd helix's arc length of the2nd best point

References getCenterPoint(), getClosestS(), getNormalS(), and getTrajectoryZ().

Referenced by VertexFitObject::estimatePosition().

double JBLHelix::getClosestS ( const TwoVector p) const

Return s of point on helix where helix comes closest in (x,y) to given point.

Parameters
pThe point

References getNormalS().

Referenced by getClosestApproach(), getClosestS(), and TrackParticleFitObject::setVertex().

double JBLHelix::getClosestS ( const ThreeVector p) const

Return s of point on helix where helix comes closest in (x,y) to given point.

Parameters
pThe point

References getClosestS().

double JBLHelix::getPar ( int  i)

Get value of parameter i.

Parameters
iParameter number i (i=0...4)
JBLHelix & JBLHelix::setPar ( int  i,
double  par_ 
)

Set value of parameter i.

Parameters
iParameter number i (i=0...4)
par_New parameter value

Referenced by JBLHelix().


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