![]() |
Project
|
#include <HelixHelper.h>
Public Member Functions | |
GPUd () int circlesCrossInfo(const TrackAuxPar &trax0 | |
template<typename T > | |
GPUd () CrossInfo(const TrackAuxPar &trax0 | |
int | circlesCrossInfo (const TrackAuxPar &trax0, const TrackAuxPar &trax1, float maxDistXY=MaxDistXYDef) |
void | notTouchingXY (float dist, float xDist, float yDist, const TrackAuxPar &trcA, float rBSign) |
template<typename T > | |
int | linesCrossInfo (const TrackAuxPar &trax0, const T &tr0, const TrackAuxPar &trax1, const T &tr1, float maxDistXY=MaxDistXYDef) |
template<typename T > | |
int | circleLineCrossInfo (const TrackAuxPar &trax0, const T &tr0, const TrackAuxPar &trax1, const T &tr1, float maxDistXY=MaxDistXYDef) |
template<typename T > | |
int | set (const TrackAuxPar &trax0, const T &tr0, const TrackAuxPar &trax1, const T &tr1, float maxDistXY=MaxDistXYDef) |
CrossInfo ()=default | |
template<typename T > | |
CrossInfo (const TrackAuxPar &trax0, const T &tr0, const TrackAuxPar &trax1, const T &tr1, float maxDistXY=MaxDistXYDef) | |
ClassDefNV (CrossInfo, 1) | |
Public Attributes | |
float | xDCA [2] = {} |
float | yDCA [2] = {} |
int | nDCA = 0 |
const TrackAuxPar & | trax1 |
const TrackAuxPar float | maxDistXY = MaxDistXYDef |
const TrackAuxPar float bool | isCollinear |
const T & | tr0 |
const T const TrackAuxPar & | trax1 |
const T const TrackAuxPar const T & | tr1 |
const T const TrackAuxPar const T float | maxDistXY = MaxDistXYDef |
const T const TrackAuxPar const T float bool | isCollinear |
Static Public Attributes | |
static constexpr float | MaxDistXYDef = 10. |
Definition at line 56 of file HelixHelper.h.
|
default |
|
inline |
Definition at line 272 of file HelixHelper.h.
|
inline |
closest approach of line and circle TrackParam propagation can be parameterized in lab in a form xLab(t) = (x*cosAlp - y*sinAlp) + t*(cosAlp - sinAlp* snp/csp) = xLab0 + t*(cosAlp - sinAlp* snp/csp) yLab(t) = (x*sinAlp + y*cosAlp) + t*(sinAlp + cosAlp* snp/csp) = yLab0 + t*(sinAlp + cosAlp* snp/csp) zLab(t) = z + t * tgl / csp = zLab0 + t * tgl / csp where t is the x-step in the track alpha-frame, xLab,yLab,zLab are reference track coordinates in lab frame (filled by TrackAuxPar for straight line tracks).
Therefore, for the parametric track equation in lab 3D we have (wrt tracking-X increment t) xL(t) = xL + t Kx; Kx = (cosAlp - sinAlp* snp/csp) yL(t) = yL + t Ky; Ky = (sinAlp + cosAlp* snp/csp) zL(t) = zL + t Kz; Kz = tgl / csp Note that Kx^2 + Ky^2 = 1 / csp^2
Definition at line 195 of file HelixHelper.h.
|
inline |
Definition at line 62 of file HelixHelper.h.
o2::track::CrossInfo::ClassDefNV | ( | CrossInfo | , |
1 | |||
) |
o2::track::CrossInfo::GPUd | ( | ) | const & |
o2::track::CrossInfo::GPUd | ( | ) | const & |
|
inline |
closest approach of 2 straight lines TrackParam propagation can be parameterized in lab in a form xLab(t) = (x*cosAlp - y*sinAlp) + t*(cosAlp - sinAlp* snp/csp) = xLab0 + t*(cosAlp - sinAlp* snp/csp) yLab(t) = (x*sinAlp + y*cosAlp) + t*(sinAlp + cosAlp* snp/csp) = yLab0 + t*(sinAlp + cosAlp* snp/csp) zLab(t) = z + t * tgl / csp = zLab0 + t * tgl / csp where t is the x-step in the track alpha-frame, xLab,yLab,zLab are reference track coordinates in lab frame (filled by TrackAuxPar for straight line tracks).
Therefore, for the parametric track equation in lab 3D we have (wrt tracking-X increment t) xL(t) = xL + t Kx; Kx = (cosAlp - sinAlp* snp/csp) yL(t) = yL + t Ky; Ky = (sinAlp + cosAlp* snp/csp) zL(t) = zL + t Kz; Kz = tgl / csp Note that Kx^2 + Ky^2 + Kz^2 = (1+tgl^2) / csp^2
Minimize |vecL1 - vecL0|^2 wrt t0 and t1: point of closest approach Leads to system A Dx = B with Dx = {dx0, dx1} with A = | kx0^2+ky0^2+kz0^2 -(kx0*kx1+ky0*ky1+kz0*kz1) | = (1+tgl0^2) / csp0^2 .... | -(kx0*kx1+ky0*ky1+kz0*kz1) kx0^2+ky0^2+kz0^2 | ..... (1+tgl1^2) / csp1^2 and B = {(dx Kx0 + dy Ky0 + dz Kz0), -(dx Kx1 + dy Ky1 + dz Kz1) }
Definition at line 134 of file HelixHelper.h.
|
inline |
Definition at line 119 of file HelixHelper.h.
|
inline |
Definition at line 254 of file HelixHelper.h.
const TrackAuxPar float bool o2::track::CrossInfo::isCollinear |
Definition at line 62 of file HelixHelper.h.
const T const TrackAuxPar const T float bool o2::track::CrossInfo::isCollinear |
Definition at line 292 of file HelixHelper.h.
const TrackAuxPar float o2::track::CrossInfo::maxDistXY = MaxDistXYDef |
Definition at line 62 of file HelixHelper.h.
const T const TrackAuxPar const T float o2::track::CrossInfo::maxDistXY = MaxDistXYDef |
Definition at line 292 of file HelixHelper.h.
|
staticconstexpr |
Definition at line 57 of file HelixHelper.h.
int o2::track::CrossInfo::nDCA = 0 |
Definition at line 60 of file HelixHelper.h.
const T& o2::track::CrossInfo::tr0 |
Definition at line 292 of file HelixHelper.h.
const T const TrackAuxPar const T& o2::track::CrossInfo::tr1 |
Definition at line 292 of file HelixHelper.h.
const TrackAuxPar& o2::track::CrossInfo::trax1 |
Definition at line 62 of file HelixHelper.h.
const T const TrackAuxPar& o2::track::CrossInfo::trax1 |
Definition at line 292 of file HelixHelper.h.
float o2::track::CrossInfo::xDCA = {} |
Definition at line 58 of file HelixHelper.h.
float o2::track::CrossInfo::yDCA = {} |
Definition at line 59 of file HelixHelper.h.