![]() |
Project
|
Classes | |
| struct | PrimaryTrackGeometryBatchResult |
| Legacy compact batch result containing only position azimuth and fractional sector coordinate. More... | |
| struct | TrackParametersAtRadius |
| Global track state evaluated at a requested cylindrical radius. More... | |
| struct | TrackParametersAtRadiusBatchResult |
| Structure-of-arrays result for batch cylindrical-radius propagation. More... | |
Enumerations | |
| enum class | TrackParametersStatus : int32_t { OK = 0 , InvalidInput = 1 , UnreachableRadius = 2 , WrongDirection = 3 , PropagationFailed = 4 , MomentumInvalid = 5 } |
| Status returned by the cylindrical-radius track-parameter evaluators. More... | |
Functions | |
| float | statePhiPos (const TrackParametersAtRadius &state) |
| Global azimuth of the propagated position, atan2(y,x), or NaN for an invalid state. | |
| float | statePhiMom (const TrackParametersAtRadius &state) |
| Global azimuth of the propagated momentum, atan2(py,px), or NaN for an invalid state. | |
| float | stateTgl (const TrackParametersAtRadius &state) |
| tan(lambda)=pz/pT of the propagated state, or NaN for an invalid state. | |
| float | dSector (float phi, int nSectors=18, float sectorPhaseRad=0.f) |
| Fractional azimuthal position inside a periodic sector pattern. | |
| float | stateDSector (const TrackParametersAtRadius &state, int nSectors=18, float sectorPhaseRad=0.f) |
dSector() evaluated from the propagated global position azimuth. | |
| o2::track::TrackPar | makeTrackParFromPrimaryApproximation (float phi, float tgl, float qpt, float vx=0.f, float vy=0.f, float vz=0.f) |
Build an O2 TrackPar from a reduced primary-like state. | |
| o2::track::TrackPar | makePrimaryTrackPar (float phi, float tgl, float qpt, float vz=0.f) |
| Backward-compatible reduced-primary constructor used by existing commissioning code. | |
| bool | extractGlobalState (const o2::track::TrackPar &track, o2::track::TrackPar::dim3_t &xyz, o2::track::TrackPar::dim3_t &pxyz) |
Extract finite global position and momentum from an O2 TrackPar. | |
| bool | directionMatches (o2::track::DirType dir, float drds) |
| Check whether the radial derivative is compatible with the requested propagation direction. | |
| TrackParametersAtRadius | getParametersAtRadiusH (const o2::track::TrackPar &track, float radius, float bzKG, o2::track::DirType dir=o2::track::DirType::DirOutward) |
| H transport: analytic helix intersection with a cylindrical radius in uniform Bz. | |
| TrackParametersAtRadius | getParametersAtRadiusK0 (const o2::track::TrackPar &track, float radius, float bzKG, o2::track::DirType dir=o2::track::DirType::DirOutward) |
K0 transport: O2 TrackPar propagation to a cylindrical radius in Bz, without material correction. | |
| float | phiAtRadius (const o2::track::TrackPar &track, float radius, float bzKG, o2::track::DirType dir=o2::track::DirType::DirOutward) |
| Backward-compatible scalar wrapper returning only the propagated position azimuth using K0. | |
| float | dSectorAtRadius (const o2::track::TrackPar &track, float radius, float bzKG, int nSectors=18, o2::track::DirType dir=o2::track::DirType::DirOutward, float sectorPhaseRad=0.f) |
| Backward-compatible scalar wrapper returning only the propagated fractional sector coordinate using K0. | |
| float | primaryPhiAtRadius (float phi, float tgl, float qpt, float radius, float bzKG, float vz=0.f) |
| Position azimuth at radius for the reduced primary-like parameterization, evaluated with K0. | |
| float | primaryDSectorAtRadius (float phi, float tgl, float qpt, float radius, float bzKG, int nSectors=18, float vz=0.f, float sectorPhaseRad=0.f) |
| Fractional sector coordinate at radius for the reduced primary-like parameterization, evaluated with K0. | |
| template<typename Evaluator > | |
| TrackParametersAtRadiusBatchResult | primaryTrackParametersAtRadiusBatch (const float *phi, const float *tgl, const float *qpt, const float *vx, const float *vy, const float *vz, std::size_t n, float radius, float bzKG, int nSectors, float sectorPhaseRad, Evaluator &&evaluate) |
| TrackParametersAtRadiusBatchResult | primaryTrackParametersAtRadiusHBatch (const float *phi, const float *tgl, const float *qpt, const float *vx, const float *vy, const float *vz, std::size_t n, float radius, float bzKG, int nSectors=18, float sectorPhaseRad=0.f) |
| Batch H transport for reduced primary-like inputs. | |
| TrackParametersAtRadiusBatchResult | primaryTrackParametersAtRadiusK0Batch (const float *phi, const float *tgl, const float *qpt, const float *vx, const float *vy, const float *vz, std::size_t n, float radius, float bzKG, int nSectors=18, float sectorPhaseRad=0.f) |
| Batch K0 transport for reduced primary-like inputs. | |
| o2::track::TrackPar | makeTrackParFromLocalParameters (float x, float alpha, float y, float z, float snp, float tgl, float qpt, int absCharge=1) |
Build an O2 TrackPar from the standard local O2 track parameterization. | |
| template<typename Evaluator > | |
| TrackParametersAtRadiusBatchResult | localTrackParametersAtRadiusBatch (const float *x, const float *alpha, const float *y, const float *z, const float *snp, const float *tgl, const float *qpt, std::size_t n, float radius, float bzKG, int nSectors, float sectorPhaseRad, Evaluator &&evaluate) |
| TrackParametersAtRadiusBatchResult | localTrackParametersAtRadiusHBatch (const float *x, const float *alpha, const float *y, const float *z, const float *snp, const float *tgl, const float *qpt, std::size_t n, float radius, float bzKG, int nSectors=18, float sectorPhaseRad=0.f) |
| Batch H transport for tracks supplied in local O2 parameterization. | |
| TrackParametersAtRadiusBatchResult | localTrackParametersAtRadiusK0Batch (const float *x, const float *alpha, const float *y, const float *z, const float *snp, const float *tgl, const float *qpt, std::size_t n, float radius, float bzKG, int nSectors=18, float sectorPhaseRad=0.f) |
| Batch K0 transport for tracks supplied in local O2 parameterization. | |
| std::vector< float > | primaryPhiAtRadiusBatch (const float *phi, const float *tgl, const float *qpt, const float *vz, std::size_t n, float radius, float bzKG) |
| Backward-compatible batch wrappers retained for existing commissioning notebooks/tests. | |
| std::vector< float > | primaryDSectorAtRadiusBatch (const float *phi, const float *tgl, const float *qpt, const float *vz, std::size_t n, float radius, float bzKG, int nSectors=18, float sectorPhaseRad=0.f) |
| PrimaryTrackGeometryBatchResult | primaryTrackGeometryAtRadiusBatch (const float *phi, const float *tgl, const float *qpt, const float *vz, std::size_t n, float radius, float bzKG, int nSectors=18, float sectorPhaseRad=0.f) |
|
strong |
Status returned by the cylindrical-radius track-parameter evaluators.
| Enumerator | |
|---|---|
| OK | |
| InvalidInput | |
| UnreachableRadius | |
| WrongDirection | |
| PropagationFailed | |
| MomentumInvalid | |
Definition at line 90 of file TrackGeometry.h.
|
inline |
Check whether the radial derivative is compatible with the requested propagation direction.
Definition at line 205 of file TrackGeometry.h.
|
inline |
Fractional azimuthal position inside a periodic sector pattern.
| phi | Global azimuth [rad]. |
| nSectors | Number of equal azimuthal sectors. |
| sectorPhaseRad | Azimuth corresponding to fractional sector coordinate 0. |
This is a periodic coordinate, not a metric distance to the physical active-pad edge.
Definition at line 146 of file TrackGeometry.h.
|
inline |
Backward-compatible scalar wrapper returning only the propagated fractional sector coordinate using K0.
Definition at line 451 of file TrackGeometry.h.
|
inline |
Extract finite global position and momentum from an O2 TrackPar.
Definition at line 188 of file TrackGeometry.h.
|
inline |
H transport: analytic helix intersection with a cylindrical radius in uniform Bz.
The implementation solves the transverse circle/circle intersection analytically, selects the first solution compatible with the requested direction, and transports z with the constant input tan(lambda). Double precision is used internally for the geometric construction, while the public state remains float.
| track | Input O2 track parameters. |
| radius | Target cylindrical radius [cm]. |
| bzKG | Uniform Bz field in O2 kG convention. |
| dir | Required radial propagation direction. |
Definition at line 229 of file TrackGeometry.h.
|
inline |
K0 transport: O2 TrackPar propagation to a cylindrical radius in Bz, without material correction.
getXatLabR() locates the local-x target corresponding to the requested laboratory radius and propagateParamTo() performs the O2 parameter transport. A state is reported as OK only when its final global radius agrees with the requested cylinder within 2e-3 cm; an off-radius one-step result is PropagationFailed. This path is used as an independent O2 transport reference for the fast analytic H implementation.
| track | Input O2 track parameters. |
| radius | Target cylindrical radius [cm]. |
| bzKG | Bz field in O2 kG convention. |
| dir | Required radial propagation direction. |
Definition at line 397 of file TrackGeometry.h.
|
inline |
Definition at line 574 of file TrackGeometry.h.
|
inline |
Batch H transport for tracks supplied in local O2 parameterization.
Definition at line 595 of file TrackGeometry.h.
|
inline |
Batch K0 transport for tracks supplied in local O2 parameterization.
Definition at line 608 of file TrackGeometry.h.
|
inline |
Backward-compatible reduced-primary constructor used by existing commissioning code.
Definition at line 182 of file TrackGeometry.h.
|
inline |
Build an O2 TrackPar from the standard local O2 track parameterization.
Definition at line 566 of file TrackGeometry.h.
|
inline |
Build an O2 TrackPar from a reduced primary-like state.
| phi | Momentum azimuth at the supplied vertex [rad]. |
| tgl | tan(lambda). |
| qpt | Signed q/pT [(GeV/c)^-1]. |
| vx,vy,vz | Vertex coordinates [cm]. |
The transverse momentum magnitude is reconstructed as 1/|qpt| and the charge sign from qpt.
Definition at line 171 of file TrackGeometry.h.
|
inline |
Backward-compatible scalar wrapper returning only the propagated position azimuth using K0.
Definition at line 444 of file TrackGeometry.h.
|
inline |
Fractional sector coordinate at radius for the reduced primary-like parameterization, evaluated with K0.
Definition at line 467 of file TrackGeometry.h.
|
inline |
Definition at line 628 of file TrackGeometry.h.
|
inline |
Position azimuth at radius for the reduced primary-like parameterization, evaluated with K0.
Definition at line 458 of file TrackGeometry.h.
|
inline |
Backward-compatible batch wrappers retained for existing commissioning notebooks/tests.
Definition at line 621 of file TrackGeometry.h.
|
inline |
Definition at line 643 of file TrackGeometry.h.
|
inline |
Definition at line 516 of file TrackGeometry.h.
|
inline |
Batch H transport for reduced primary-like inputs.
Definition at line 540 of file TrackGeometry.h.
|
inline |
Batch K0 transport for reduced primary-like inputs.
Definition at line 553 of file TrackGeometry.h.
|
inline |
dSector() evaluated from the propagated global position azimuth.
Definition at line 157 of file TrackGeometry.h.
|
inline |
Global azimuth of the propagated momentum, atan2(py,px), or NaN for an invalid state.
Definition at line 122 of file TrackGeometry.h.
|
inline |
Global azimuth of the propagated position, atan2(y,x), or NaN for an invalid state.
Definition at line 116 of file TrackGeometry.h.
|
inline |
tan(lambda)=pz/pT of the propagated state, or NaN for an invalid state.
Definition at line 128 of file TrackGeometry.h.