MarlinUtil
1.12.1
|
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. | |
HelixClass::HelixClass | ( | ) |
Constructor.
Initializations of constants which are used to calculate various parameters associated with helix.
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
void HelixClass::Initialize_Canonical | ( | float | phi0, |
float | d0, | ||
float | z0, | ||
float | omega, | ||
float | tanlambda, | ||
float | B | ||
) |
Canonical (LEP-wise) parameterisation with the following parameters
void HelixClass::Initialize_VP | ( | float * | pos, |
float * | mom, | ||
float | q, | ||
float | B | ||
) |
Initialization of helix using