MarlinUtil
1.12.1
|
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. | |
HelixClass_double::HelixClass_double | ( | ) |
Constructor.
Initializations of constants which are used to calculate various parameters associated with helix.
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
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
void HelixClass_double::Initialize_VP | ( | double * | pos, |
double * | mom, | ||
double | q, | ||
double | B | ||
) |
Initialization of helix using