9#define PANDORA_HELIX_H 1
34 Helix(
const float phi0,
const float d0,
const float z0,
const float omega,
const float tanlambda,
const float bField);
93 float &genericTime)
const;
113 float &genericTime)
const;
147 float &helixDistance)
const;
275 return this->
GetPointInXY(x0, y0, ax, ay, referencePoint, intersectionPoint, genericTime);
283 return this->
GetPointInZ(zPlane, referencePoint, intersectionPoint, genericTime);
291 return this->
GetPointOnCircle(radius, referencePoint, intersectionPoint, genericTime);
Header file for the cartesian vector class.
Header file defining status codes and relevant preprocessor macros.
float GetCharge() const
Get charge.
float GetZ0() const
Get z coordinate of the point of closest approach to IP in the R-Phi plane.
float m_phiRefPoint
Phi w.r.t. (X0, Y0) of circle at reference point.
float m_charge
The particle charge.
float GetOmega() const
Get signed curvature of the track.
float m_pxy
The transverse momentum.
StatusCode GetPointInZ(const float zPlane, const CartesianVector &referencePoint, CartesianVector &intersectionPoint) const
Get helix intersection point with a plane perpendicular to z axis.
CartesianVector m_referencePoint
The coordinates of the reference point.
float GetXCentre() const
Get x coordinate of circumference.
float GetRadius() const
Get radius of circumference.
float m_yAtPCA
y coordinate at point of closest approach
float m_phiMomRefPoint
Phi of Momentum vector at reference point.
StatusCode GetDistanceToPoint(const CartesianVector &point, CartesianVector &distance) const
Get distance of the closest approach of helix to an arbitrary point in space.
CartesianVector m_momentum
The momentum vector at reference point.
float m_d0
d0 in canonical parameterisation
static const float TWO_PI
float GetYCentre() const
Get y coordinate of circumference.
float m_pxAtPCA
Momentum x component at point of closest approach.
float m_pyAtPCA
Momentum y component at point of closest approach.
float GetPhi0() const
Get phi angle of the momentum vector at the point of closest approach to IP.
float GetTanLambda() const
Get tangent of dip angle of the track.
float m_tanLambda
tanLambda
const CartesianVector & GetMomentum() const
Get momentum of particle at the point of closest approach to IP.
float m_xCentre
The circle centre x coordinate.
CartesianVector GetExtrapolatedMomentum(const CartesianVector &position) const
static const float HALF_PI
float m_phi0
phi0 in canonical parameterization
float m_xAtPCA
x coordinate at point of closest approach
float GetPxy() const
Get transverse momentum of the track.
float m_omega
signed curvature in canonical parameterisation
float m_radius
The radius of circle in XY plane.
float m_phiAtPCA
Phi w.r.t. (X0, Y0) of circle at point of closest approach.
StatusCode GetPointOnCircle(const float radius, const CartesianVector &referencePoint, CartesianVector &intersectionPoint) const
Get coordinates of helix intersection with cylinder, aligned along z-axis.
float m_yCentre
The circle centre y coordinate.
float GetD0() const
Get z signed distance of closest approach to IP in the R-Phi plane.
float m_z0
z0 in canonical parameterisation
const CartesianVector & GetReferencePoint() const
Get reference point of track.
StatusCode GetPointInXY(const float x0, const float y0, const float ax, const float ay, const CartesianVector &referencePoint, CartesianVector &intersectionPoint) const
Get helix intersection point with a plane parallel to z axis. The plane is defined by two coordinates...
StatusCode GetDistanceToHelix(const Helix *const pHelix, CartesianVector &positionOfClosestApproach, CartesianVector &v0momentum, float &helixDistance) const
Get distance between two helices.
StatusCode
The StatusCode enum.