Pandora
Pandora source code navigator
|
#include "Helix.h"
Public Member Functions | |
Helix (const float phi0, const float d0, const float z0, const float omega, const float tanlambda, const float bField) | |
Constructor using canonical (LEP-wise) parameterisation. | |
Helix (const CartesianVector &position, const CartesianVector &momentum, const float charge, const float bField) | |
Constructor. | |
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 in the plane (x0,y0) and a normal vector (ax,ay). | |
StatusCode | GetPointInXY (const float x0, const float y0, const float ax, const float ay, const CartesianVector &referencePoint, CartesianVector &intersectionPoint, float &genericTime) const |
Get helix intersection point with a plane parallel to z axis. The plane is defined by two coordinates in the plane (x0,y0) and a normal vector (ax,ay). | |
StatusCode | GetPointInZ (const float zPlane, const CartesianVector &referencePoint, CartesianVector &intersectionPoint) const |
Get helix intersection point with a plane perpendicular to z axis. | |
StatusCode | GetPointInZ (const float zPlane, const CartesianVector &referencePoint, CartesianVector &intersectionPoint, float &genericTime) const |
Get helix intersection point with a plane perpendicular to z axis. | |
StatusCode | GetPointOnCircle (const float radius, const CartesianVector &referencePoint, CartesianVector &intersectionPoint) const |
Get coordinates of helix intersection with cylinder, aligned along z-axis. | |
StatusCode | GetPointOnCircle (const float radius, const CartesianVector &referencePoint, CartesianVector &intersectionPoint, float &genericTime) const |
Get coordinates of helix intersection with cylinder, aligned along z-axis. | |
StatusCode | GetDistanceToPoint (const CartesianVector &point, CartesianVector &distance) const |
Get distance of the closest approach of helix to an arbitrary point in space. | |
StatusCode | GetDistanceToPoint (const CartesianVector &point, CartesianVector &distance, float &genericTime) const |
Get distance of the closest approach of helix to an arbitrary point in space. | |
StatusCode | GetDistanceToHelix (const Helix *const pHelix, CartesianVector &positionOfClosestApproach, CartesianVector &v0momentum, float &helixDistance) const |
Get distance between two helices. | |
CartesianVector | GetExtrapolatedMomentum (const CartesianVector &position) const |
const CartesianVector & | GetMomentum () const |
Get momentum of particle at the point of closest approach to IP. | |
const CartesianVector & | GetReferencePoint () const |
Get reference point of track. | |
float | GetPhi0 () const |
Get phi angle of the momentum vector at the point of closest approach to IP. | |
float | GetD0 () const |
Get z signed distance of closest approach to IP in the R-Phi plane. | |
float | GetZ0 () const |
Get z coordinate of the point of closest approach to IP in the R-Phi plane. | |
float | GetOmega () const |
Get signed curvature of the track. | |
float | GetTanLambda () const |
Get tangent of dip angle of the track. | |
float | GetPxy () const |
Get transverse momentum of the track. | |
float | GetCharge () const |
Get charge. | |
float | GetXCentre () const |
Get x coordinate of circumference. | |
float | GetYCentre () const |
Get y coordinate of circumference. | |
float | GetRadius () const |
Get radius of circumference. | |
Private Attributes | |
CartesianVector | m_referencePoint |
The coordinates of the reference point. | |
CartesianVector | m_momentum |
The momentum vector at reference point. | |
float | m_phi0 |
phi0 in canonical parameterization | |
float | m_d0 |
d0 in canonical parameterisation | |
float | m_z0 |
z0 in canonical parameterisation | |
float | m_omega |
signed curvature in canonical parameterisation | |
float | m_tanLambda |
tanLambda | |
float | m_pxy |
The transverse momentum. | |
float | m_charge |
The particle charge. | |
float | m_xCentre |
The circle centre x coordinate. | |
float | m_yCentre |
The circle centre y coordinate. | |
float | m_radius |
The radius of circle in XY plane. | |
float | m_phiRefPoint |
Phi w.r.t. (X0, Y0) of circle at reference point. | |
float | m_phiAtPCA |
Phi w.r.t. (X0, Y0) of circle at point of closest approach. | |
float | m_xAtPCA |
x coordinate at point of closest approach | |
float | m_yAtPCA |
y coordinate at point of closest approach | |
float | m_pxAtPCA |
Momentum x component at point of closest approach. | |
float | m_pyAtPCA |
Momentum y component at point of closest approach. | |
float | m_phiMomRefPoint |
Phi of Momentum vector at reference point. | |
Static Private Attributes | |
static const float | FCT = 2.99792458E-4f |
static const float | TWO_PI = static_cast<float>(2. * std::acos(-1.0)) |
static const float | HALF_PI = static_cast<float>(0.5 * std::acos(-1.0)) |
pandora::Helix::Helix | ( | const float | phi0, |
const float | d0, | ||
const float | z0, | ||
const float | omega, | ||
const float | tanlambda, | ||
const float | bField | ||
) |
Constructor using canonical (LEP-wise) parameterisation.
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 |
bField | magnetic field (in Tesla) |
Definition at line 24 of file Helix.cc.
pandora::Helix::Helix | ( | const CartesianVector & | position, |
const CartesianVector & | momentum, | ||
const float | charge, | ||
const float | bField | ||
) |
|
inline |
|
inline |
StatusCode pandora::Helix::GetDistanceToHelix | ( | const Helix *const | pHelix, |
CartesianVector & | positionOfClosestApproach, | ||
CartesianVector & | v0momentum, | ||
float & | helixDistance | ||
) | const |
Get distance between two helices.
pHelix | address of a second helix |
positionOfClosestApproach | to receive position of the point of closest approach |
v0momentum | to receive the v0 momentum |
helixDistance | to receive the distance between the two helices |
Definition at line 349 of file Helix.cc.
|
inline |
Get distance of the closest approach of helix to an arbitrary point in space.
point | coordinates of the specified point |
distance | to receive a vector of distances from helix to point in the following projections: x component: distance in R-Phi plane y-component: distance along Z axis z-component: 3D distance magnitude |
Definition at line 296 of file Helix.h.
StatusCode pandora::Helix::GetDistanceToPoint | ( | const CartesianVector & | point, |
CartesianVector & | distance, | ||
float & | genericTime | ||
) | const |
Get distance of the closest approach of helix to an arbitrary point in space.
point | coordinates of the specified point |
distance | to receive a vector of distances from helix to point in the following projections: x component: distance in R-Phi plane y-component: distance along Z axis z-component: 3D distance magnitude |
genericTime | to receive the generic time (helix length, from reference point to intersection, divided by particle momentum) |
Definition at line 298 of file Helix.cc.
CartesianVector pandora::Helix::GetExtrapolatedMomentum | ( | const CartesianVector & | position | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
Get helix intersection point with a plane parallel to z axis. The plane is defined by two coordinates in the plane (x0,y0) and a normal vector (ax,ay).
x0 | x coordinate in the specified plane |
y0 | y coordinate in the specified plane |
ax | x component of vector normal to specified plane |
ay | y component of vector normal to specified plane |
referencePoint | the reference point of the helix |
intersectionPoint | to receive the coordinates of the intersection point |
Definition at line 271 of file Helix.h.
StatusCode pandora::Helix::GetPointInXY | ( | const float | x0, |
const float | y0, | ||
const float | ax, | ||
const float | ay, | ||
const CartesianVector & | referencePoint, | ||
CartesianVector & | intersectionPoint, | ||
float & | genericTime | ||
) | const |
Get helix intersection point with a plane parallel to z axis. The plane is defined by two coordinates in the plane (x0,y0) and a normal vector (ax,ay).
x0 | x coordinate in the specified plane |
y0 | y coordinate in the specified plane |
ax | x component of vector normal to specified plane |
ay | y component of vector normal to specified plane |
referencePoint | the reference point of the helix |
intersectionPoint | to receive the coordinates of the intersection point |
genericTime | to receive the generic time (helix length, from reference point to intersection, divided by particle momentum) |
Definition at line 132 of file Helix.cc.
|
inline |
Get helix intersection point with a plane perpendicular to z axis.
zPlane | the z coordinate for the specified plane |
referencePoint | the reference point of the helix |
intersectionPoint | to receive the coordinates of the intersection point |
Definition at line 280 of file Helix.h.
StatusCode pandora::Helix::GetPointInZ | ( | const float | zPlane, |
const CartesianVector & | referencePoint, | ||
CartesianVector & | intersectionPoint, | ||
float & | genericTime | ||
) | const |
Get helix intersection point with a plane perpendicular to z axis.
zPlane | the z coordinate for the specified plane |
referencePoint | the reference point of the helix |
intersectionPoint | to receive the coordinates of the intersection point |
genericTime | to receive the generic time (helix length, from reference point to intersection, divided by particle momentum) |
Definition at line 204 of file Helix.cc.
|
inline |
Get coordinates of helix intersection with cylinder, aligned along z-axis.
radius | the radius of the cylinder |
referencePoint | the reference point of the helix |
intersectionPoint | to receive the coordinates of the intersection point |
Definition at line 288 of file Helix.h.
StatusCode pandora::Helix::GetPointOnCircle | ( | const float | radius, |
const CartesianVector & | referencePoint, | ||
CartesianVector & | intersectionPoint, | ||
float & | genericTime | ||
) | const |
Get coordinates of helix intersection with cylinder, aligned along z-axis.
radius | the radius of the cylinder |
referencePoint | the reference point of the helix |
intersectionPoint | to receive the coordinates of the intersection point |
genericTime | to receive the generic time (helix length, from reference point to intersection, divided by particle momentum) |
Definition at line 222 of file Helix.cc.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
staticprivate |
|
staticprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |