|
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
1.8.6