#include <Helix.h>
Public Member Functions | |
Helix (const float phi0, const float d0, const float x0, const float omega, const float tanlambda, const float bField) | |
Constructor using canonical (LEP-wise) parameterisation. More... | |
Helix (const pandora::CartesianVector &position, const pandora::CartesianVector &momentum, const float charge, const float bField) | |
Constructor. More... | |
pandora::StatusCode | GetPointInZY (const float z0, const float y0, const float az, const float ay, const pandora::CartesianVector &referencePoint, pandora::CartesianVector &intersectionPoint) const |
Get helix intersection point with a plane parallel to x axis. The plane is defined by two coordinates in the plane (z0,y0) and a normal vector (az,ay). More... | |
pandora::StatusCode | GetPointInZY (const float z0, const float y0, const float az, const float ay, const pandora::CartesianVector &referencePoint, pandora::CartesianVector &intersectionPoint, float &genericTime) const |
Get helix intersection point with a plane parallel to x axis. The plane is defined by two coordinates in the plane (z0,y0) and a normal vector (az,ay). More... | |
pandora::StatusCode | GetPointInX (const float xPlane, const pandora::CartesianVector &referencePoint, pandora::CartesianVector &intersectionPoint) const |
Get helix intersection point with a plane perpendicular to x axis. More... | |
pandora::StatusCode | GetPointInX (const float xPlane, const pandora::CartesianVector &referencePoint, pandora::CartesianVector &intersectionPoint, float &genericTime) const |
Get helix intersection point with a plane perpendicular to x axis. More... | |
pandora::StatusCode | GetPointOnCircle (const float radius, const pandora::CartesianVector &referencePoint, pandora::CartesianVector &intersectionPoint) const |
Get coordinates of helix intersection with cylinder, aligned along z-axis. More... | |
pandora::StatusCode | GetPointOnCircle (const float radius, const pandora::CartesianVector &referencePoint, pandora::CartesianVector &intersectionPoint, float &genericTime) const |
Get coordinates of helix intersection with cylinder, aligned along z-axis. More... | |
pandora::StatusCode | GetDistanceToPoint (const pandora::CartesianVector &point, pandora::CartesianVector &distance) const |
Get distance of the closest approach of helix to an arbitrary point in space. More... | |
pandora::StatusCode | GetDistanceToPoint (const pandora::CartesianVector &point, pandora::CartesianVector &distance, float &genericTime) const |
Get distance of the closest approach of helix to an arbitrary point in space. More... | |
pandora::StatusCode | GetDistanceToHelix (const Helix *const pHelix, pandora::CartesianVector &positionOfClosestApproach, pandora::CartesianVector &v0momentum, float &helixDistance) const |
Get distance between two helices. More... | |
pandora::CartesianVector | GetExtrapolatedMomentum (const pandora::CartesianVector &position) const |
const pandora::CartesianVector & | GetMomentum () const |
Get momentum of particle at the point of closest approach to IP. More... | |
const pandora::CartesianVector & | GetReferencePoint () const |
Get reference point of track. More... | |
float | GetPhi0 () const |
Get phi angle of the momentum vector at the point of closest approach to IP. More... | |
float | GetD0 () const |
Get x signed distance of closest approach to IP in the R-Phi plane. More... | |
float | GetX0 () const |
Get x coordinate of the point of closest approach to IP in the R-Phi plane. More... | |
float | GetOmega () const |
Get signed curvature of the track. More... | |
float | GetTanLambda () const |
Get tangent of dip angle of the track. More... | |
float | GetPzy () const |
Get transverse momentum of the track. More... | |
float | GetCharge () const |
Get charge. More... | |
float | GetZCentre () const |
Get z coordinate of circumference. More... | |
float | GetYCentre () const |
Get y coordinate of circumference. More... | |
float | GetRadius () const |
Get radius of circumference. More... | |
Private Attributes | |
pandora::CartesianVector | m_referencePoint |
The coordinates of the reference point. More... | |
pandora::CartesianVector | m_momentum |
The momentum vector at reference point. More... | |
float | m_phi0 |
phi0 in canonical parameterization More... | |
float | m_d0 |
d0 in canonical parameterisation More... | |
float | m_x0 |
x0 in canonical parameterisation More... | |
float | m_omega |
signed curvature in canonical parameterisation More... | |
float | m_tanLambda |
tanLambda More... | |
float | m_pzy |
The transverse momentum. More... | |
float | m_charge |
The particle charge. More... | |
float | m_zCentre |
The circle centre z coordinate. More... | |
float | m_yCentre |
The circle centre y coordinate. More... | |
float | m_radius |
The radius of circle in ZY plane. More... | |
float | m_phiRefPoint |
Phi w.r.t. (Z0, Y0) of circle at reference point. More... | |
float | m_phiAtPCA |
Phi w.r.t. (Z0, Y0) of circle at point of closest approach. More... | |
float | m_zAtPCA |
z coordinate at point of closest approach More... | |
float | m_yAtPCA |
y coordinate at point of closest approach More... | |
float | m_pzAtPCA |
Momentum z component at point of closest approach. More... | |
float | m_pyAtPCA |
Momentum y component at point of closest approach. More... | |
float | m_phiMomRefPoint |
Phi of Momentum vector at reference point. More... | |
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)) |
gar_content::Helix::Helix | ( | const float | phi0, |
const float | d0, | ||
const float | x0, | ||
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 |
x0 | x 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 16 of file Helix.cc.
gar_content::Helix::Helix | ( | const pandora::CartesianVector & | position, |
const pandora::CartesianVector & | momentum, | ||
const float | charge, | ||
const float | bField | ||
) |
Constructor.
position | position of the reference point |
momentum | momentum vector at the reference point |
charge | particle charge |
bField | magnetic field (in Tesla) |
Definition at line 49 of file Helix.cc.
|
inline |
|
inline |
pandora::StatusCode gar_content::Helix::GetDistanceToHelix | ( | const Helix *const | pHelix, |
pandora::CartesianVector & | positionOfClosestApproach, | ||
pandora::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 341 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 289 of file Helix.h.
pandora::StatusCode gar_content::Helix::GetDistanceToPoint | ( | const pandora::CartesianVector & | point, |
pandora::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 290 of file Helix.cc.
pandora::CartesianVector gar_content::Helix::GetExtrapolatedMomentum | ( | const pandora::CartesianVector & | position | ) | const |
Get | extrapolated momentum at a specified position |
position | the specified position |
Definition at line 514 of file Helix.cc.
|
inline |
Get momentum of particle at the point of closest approach to IP.
Definition at line 297 of file Helix.h.
|
inline |
Get signed curvature of the track.
Definition at line 335 of file Helix.h.
|
inline |
|
inline |
Get helix intersection point with a plane perpendicular to x axis.
xPlane | the x coordinate for the specified plane |
referencePoint | the reference point of the helix |
intersectionPoint | to receive the coordinates of the intersection point |
Definition at line 273 of file Helix.h.
pandora::StatusCode gar_content::Helix::GetPointInX | ( | const float | xPlane, |
const pandora::CartesianVector & | referencePoint, | ||
pandora::CartesianVector & | intersectionPoint, | ||
float & | genericTime | ||
) | const |
Get helix intersection point with a plane perpendicular to x axis.
xPlane | the x 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 196 of file Helix.cc.
|
inline |
Get helix intersection point with a plane parallel to x axis. The plane is defined by two coordinates in the plane (z0,y0) and a normal vector (az,ay).
z0 | z coordinate in the specified plane |
y0 | y coordinate in the specified plane |
az | z 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 264 of file Helix.h.
pandora::StatusCode gar_content::Helix::GetPointInZY | ( | const float | z0, |
const float | y0, | ||
const float | az, | ||
const float | ay, | ||
const pandora::CartesianVector & | referencePoint, | ||
pandora::CartesianVector & | intersectionPoint, | ||
float & | genericTime | ||
) | const |
Get helix intersection point with a plane parallel to x axis. The plane is defined by two coordinates in the plane (z0,y0) and a normal vector (az,ay).
z0 | z coordinate in the specified plane |
y0 | y coordinate in the specified plane |
az | z 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 124 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 281 of file Helix.h.
pandora::StatusCode gar_content::Helix::GetPointOnCircle | ( | const float | radius, |
const pandora::CartesianVector & | referencePoint, | ||
pandora::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 214 of file Helix.cc.
|
inline |
|
inline |
|
inline |
Get reference point of track.
Definition at line 304 of file Helix.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
staticprivate |
|
staticprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |