Main Page | Class Hierarchy | Compound List | File List | Compound Members | File Members

JBLHelix Class Reference

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

#include <JBLHelix.h>

List of all members.

Public Member Functions

 JBLHelix (double kappa, double phi0, double theta, double dca, double z0)
 Constructor from (kappa, phi0, theta, dca, z0).

 JBLHelix (double par_[])
 Constructor from an array of values.

 ~JBLHelix ()
 Destructor.

double getPar (int i)
 Get value of parameter i.

JBLHelixsetPar (int i, double par_)
 Set value of parameter i.

int getClosestApproach (const JBLHelix &h1, double &s0, double &s1, double &s02nd, double &s12nd) const
 Get arc lengths for point where another helix comes closest.

double getClosestS (const TwoVector &p) const
 Return s of point on helix where helix comes closest in (x,y) to given point.

double getClosestS (const ThreeVector &p) const
 Return s of point on helix where helix comes closest in (x,y) to given point.

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


Private Types

enum  { NPAR = 5 }

Private Attributes

double par [NPAR]
 Parameters (kappa, phi0, theta, dca, z0).


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:

Definition at line 33 of file JBLHelix.h.


Member Enumeration Documentation

anonymous enum [private]
 

Enumeration values:
NPAR 

Definition at line 102 of file JBLHelix.h.


Constructor & Destructor Documentation

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

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

Parameters:
kappa  kappa
phi0  phi0
theta  theta
dca  dca
z0  z0

Definition at line 16 of file JBLHelix.C.

References setPar().

JBLHelix::JBLHelix double  par_[]  ) 
 

Constructor from an array of values.

Parameters:
par_  Parameters (kappa, phi0, theta, dca, z0)

Definition at line 29 of file JBLHelix.C.

References NPAR, and setPar().

JBLHelix::~JBLHelix  ) 
 

Destructor.

Definition at line 33 of file JBLHelix.C.


Member Function Documentation

TwoVector JBLHelix::getCenterPoint  )  const
 

Get center point of trajectory.

Definition at line 171 of file JBLHelix.C.

References getCenterPointEx().

Referenced by getClosestApproach().

void JBLHelix::getCenterPointEx TwoVector p  )  const
 

Get center point of trajectory into existing 2-vector.

Definition at line 166 of file JBLHelix.C.

References par, and TwoVector::setValues().

Referenced by getCenterPoint().

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:
h1  The second helix
s0  This helix's arc length of the best point
s1  The 2nd helix's arc length of the best point
s02nd  This helix's arc length of the 2nd best point
s12nd  The 2nd helix's arc length of the2nd best point

Definition at line 48 of file JBLHelix.C.

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

Referenced by VertexFitObject::estimatePosition(), and main().

double JBLHelix::getClosestS const ThreeVector p  )  const
 

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

Parameters:
p  The point

Definition at line 133 of file JBLHelix.C.

References getClosestS(), ThreeVector::getX(), and ThreeVector::getY().

double JBLHelix::getClosestS const TwoVector p  )  const
 

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

Parameters:
p  The point

Definition at line 107 of file JBLHelix.C.

References getNormalS(), TwoVector::getX(), TwoVector::getY(), and par.

Referenced by getClosestApproach(), getClosestS(), and main().

double JBLHelix::getNormalS double  s  )  const
 

Get smallest s that corresponds to same (x, y).

Definition at line 177 of file JBLHelix.C.

References par.

Referenced by getClosestApproach(), and getClosestS().

double JBLHelix::getPar int  i  ) 
 

Get value of parameter i.

Parameters:
i  Parameter number i (i=0...4)

Definition at line 37 of file JBLHelix.C.

References NPAR, and par.

ThreeVector JBLHelix::getTrajectoryPoint double  s  )  const
 

Get point along trajectory.

Definition at line 160 of file JBLHelix.C.

References getTrajectoryPointEx().

Referenced by VertexFitObject::estimatePosition(), and main().

void JBLHelix::getTrajectoryPointEx double  s,
ThreeVector p
const
 

Get point along trajectory into existing 3-vector.

Definition at line 137 of file JBLHelix.C.

References par, and ThreeVector::setValues().

Referenced by getTrajectoryPoint().

double JBLHelix::getTrajectoryZ double  s  )  const
 

Get z value along trajectory.

Definition at line 156 of file JBLHelix.C.

References par.

Referenced by getClosestApproach().

JBLHelix & JBLHelix::setPar int  i,
double  par_
 

Set value of parameter i.

Parameters:
i  Parameter number i (i=0...4)
par_  New parameter value

Definition at line 42 of file JBLHelix.C.

References NPAR, and par.

Referenced by JBLHelix().


Member Data Documentation

double JBLHelix::par[NPAR] [private]
 

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

Definition at line 103 of file JBLHelix.h.

Referenced by getCenterPointEx(), getClosestApproach(), getClosestS(), getNormalS(), getPar(), getTrajectoryPointEx(), getTrajectoryZ(), and setPar().


The documentation for this class was generated from the following files:
Generated on Fri Sep 14 17:38:36 2007 for Kinfit by doxygen 1.3.2