MarlinUtil  1.12.1
Public Member Functions | List of all members
HelixClass_double Class Reference

Public Member Functions

 HelixClass_double ()
 Constructor. More...
 
 ~HelixClass_double ()
 Destructor.
 
void Initialize_VP (double *pos, double *mom, double q, double B)
 Initialization of helix using
More...
 
void Initialize_BZ (double xCentre, double yCentre, double radius, double bZ, double phi0, double B, double signPz, double zBegin)
 Initialization of helix according to the following
parameterization
x = xCentre + radius*cos(bZ*z + phi0)
y = yCentre + radius*sin(bZ*z + phi0)
where (x,y,z) - position of point on the helix
More...
 
void Initialize_Canonical (double phi0, double d0, double z0, double omega, double tanlambda, double B)
 Canonical (LEP-wise) parameterisation with the following parameters
More...
 
const double * getMomentum ()
 Returns momentum of particle at the point of closest approach
to IP

 
const double * getReferencePoint ()
 Returns reference point of track

 
double getPhi0 ()
 Returns Phi angle of the momentum vector
at the point of closest approach to IP

 
double getD0 ()
 Returns signed distance of closest approach
to IP in the R-Phi plane

 
double getZ0 ()
 Returns z coordinate of the point of closest approach to IP in the R-Phi plane

 
double getOmega ()
 Returns signed curvature of the track

 
double getTanLambda ()
 Returns tangent of dip angle of the track

 
double getPXY ()
 Returns transverse momentum of the track

 
double getXC ()
 Returns x coordinate of circumference.
 
double getYC ()
 Returns y coordinate of circumference.
 
double getRadius ()
 Returns radius of circumference.
 
double getPointInXY (double x0, double y0, double ax, double ay, double *ref, double *point)
 Returns helix intersection point with the plane
parallel to z axis. More...
 
double getPointInZ (double zLine, double *ref, double *point)
 Returns helix intersection point with the plane
perpendicular to z axis. More...
 
double getDistanceToPoint (double *xPoint, double *Distance)
 Return distance of the closest approach of the helix to
arbitrary 3D point in space. More...
 
double getDistanceToPoint (const double *xPoint, double distCut)
 Return distance of the closest approach of the helix to
arbitrary 3D point in space. More...
 
double getDistanceToPoint (const std::vector< double > &xPoint, double distCut)
 
double getPointOnCircle (double Radius, double *ref, double *point)
 This method calculates coordinates of both intersection
of the helix with a cylinder. More...
 
double getDistanceToHelix (HelixClass_double *helix, double *pos, double *mom)
 Returns distance between two helixes
Output :
pos[3] - position of the point of closest approach
mom[3] - momentum of V0

 
void setHelixEdges (double *xStart, double *xEnd)
 Set Edges of helix.
 
double * getStartingPoint ()
 Returns starting point of helix.
 
double * getEndPoint ()
 Returns endpoint of helix.
 
double getBz ()
 Returns BZ for the second parameterization.
 
double getPhiZ ()
 Returns Phi for the second parameterization.
 
void getExtrapolatedMomentum (double *pos, double *momentum)
 Returns extrapolated momentum.
 
double getCharge ()
 Returns charge.
 

Constructor & Destructor Documentation

HelixClass_double::HelixClass_double ( )

Constructor.

Initializations of constants which are used to calculate various parameters associated with helix.

Member Function Documentation

double HelixClass_double::getDistanceToPoint ( double *  xPoint,
double *  Distance 
)

Return distance of the closest approach of the helix to
arbitrary 3D point in space.

xPoint[3] - coordinates of
space point. Distance[3] - vector of distances of helix to
a given point in various projections :
Distance[0] - distance in R-Phi plane
Distance[1] - distance along Z axis
Distance[2] - 3D distance

Referenced by getDistanceToPoint().

double HelixClass_double::getDistanceToPoint ( const double *  xPoint,
double  distCut 
)

Return distance of the closest approach of the helix to
arbitrary 3D point in space.

xPoint[3] - coordinates of
space point. distCut - limit on the distance between helix
and the point to reduce calculation time
If R-Phi is found to be greater than distCut, rPhi distance is returned
If the R-Phi distance is not too big, than the exact 3D distance is returned
This function can be used, if the exact distance is not always needed

References getDistanceToPoint().

double HelixClass_double::getPointInXY ( double  x0,
double  y0,
double  ax,
double  ay,
double *  ref,
double *  point 
)

Returns helix intersection point with the plane
parallel to z axis.

Plane is defined by two coordinates
of the point belonging to the plane (x0,y0) and normal
vector (ax,ay). ref[3] is the reference point of the helix.
point[3] - returned vector holding the coordinates of
intersection point

double HelixClass_double::getPointInZ ( double  zLine,
double *  ref,
double *  point 
)

Returns helix intersection point with the plane
perpendicular to z axis.

Plane is defined by z coordinate
of the plane. ref[3] is the reference point of the helix.
point[3] - returned vector holding the coordinates of
intersection point

double HelixClass_double::getPointOnCircle ( double  Radius,
double *  ref,
double *  point 
)

This method calculates coordinates of both intersection
of the helix with a cylinder.


Rotational symmetry with respect to z axis is assumed,
meaning that cylinder axis corresponds to the z axis
of reference frame.
Inputs :
Radius - radius of cylinder.
ref[3] - point of closest approach to the origin of the helix.
Output :
point[6] - coordinates of intersection point.
Method returns also generic time, defined as the
ratio of helix length from reference point to the intersection
point to the particle momentum

Referenced by getDistanceToHelix().

void HelixClass_double::Initialize_BZ ( double  xCentre,
double  yCentre,
double  radius,
double  bZ,
double  phi0,
double  B,
double  signPz,
double  zBegin 
)

Initialization of helix according to the following
parameterization
x = xCentre + radius*cos(bZ*z + phi0)
y = yCentre + radius*sin(bZ*z + phi0)
where (x,y,z) - position of point on the helix

  • (xCentre,yCentre) is the centre of circumference in R-Phi plane
  • radius is the radius of circumference
  • bZ is the helix slope parameter
  • phi0 is the initial phase of circumference
  • B is the magnetic field (in Tesla)
  • signPz is the sign of the z component of momentum vector
  • zBegin is the z coordinate of the reference point
void HelixClass_double::Initialize_Canonical ( double  phi0,
double  d0,
double  z0,
double  omega,
double  tanlambda,
double  B 
)

Canonical (LEP-wise) parameterisation with the following parameters

  • phi0 - Phi angle of momentum vector at the point of
    closest approach to IP in R-Phi plane;
  • d0 - signed distance of closest approach in R-Phi plane;
  • z0 - z coordinate of the point of closest approach to IP in R-Phi plane;
  • omega - signed curvature;
  • tanlambda - tangent of dip angle;
  • B - magnetic field (in Tesla)
void HelixClass_double::Initialize_VP ( double *  pos,
double *  mom,
double  q,
double  B 
)

Initialization of helix using

  • position of the reference point : pos[3];
  • momentum vector at the reference point : mom[3];
  • particle charge : q;
  • magnetic field (in Tesla) : B

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