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

Public Member Functions

 HelixClass ()
 Constructor. More...
 
 ~HelixClass ()
 Destructor.
 
void Initialize_VP (float *pos, float *mom, float q, float B)
 Initialization of helix using
More...
 
void Initialize_BZ (float xCentre, float yCentre, float radius, float bZ, float phi0, float B, float signPz, float 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 (float phi0, float d0, float z0, float omega, float tanlambda, float B)
 Canonical (LEP-wise) parameterisation with the following parameters
More...
 
const float * getMomentum ()
 Returns momentum of particle at the point of closest approach
to IP

 
const float * getReferencePoint ()
 Returns reference point of track

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

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

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

 
float getOmega ()
 Returns signed curvature of the track

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

 
float getPXY ()
 Returns transverse momentum of the track

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

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

Constructor & Destructor Documentation

HelixClass::HelixClass ( )

Constructor.

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

Member Function Documentation

float HelixClass::getDistanceToPoint ( float *  xPoint,
float *  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().

float HelixClass::getDistanceToPoint ( const float *  xPoint,
float  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().

float HelixClass::getPointInXY ( float  x0,
float  y0,
float  ax,
float  ay,
float *  ref,
float *  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

float HelixClass::getPointInZ ( float  zLine,
float *  ref,
float *  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

float HelixClass::getPointOnCircle ( float  Radius,
float *  ref,
float *  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::Initialize_BZ ( float  xCentre,
float  yCentre,
float  radius,
float  bZ,
float  phi0,
float  B,
float  signPz,
float  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::Initialize_Canonical ( float  phi0,
float  d0,
float  z0,
float  omega,
float  tanlambda,
float  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::Initialize_VP ( float *  pos,
float *  mom,
float  q,
float  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: