space::irbem::TracedLine
cheatah-space v0.1.0-alpha — Biome Standard 0.6.5-alpha
What trace_field_line produces, alongside the path itself.
The scalars are IRBEM's Lm, Bmin and XJ, computed on the SAME samples the path is made of rather than by a second trace — which is what makes this one pass over the line instead of two.
Constants & variables
|B| at the input point, nT — IRBEM's Blocal at the input index.
The minimum |B| along the line, nT, parabola-refined off the sample grid.
I for a particle mirroring at the input point, Earth radii — IRBEM's XJ.
McIlwain's L, Earth radii — IRBEM's Lm, via mcilwain_l.
The magnetic equator, GEO, Earth radii — the parabola-refined position of b_min.
How many samples were written into the caller's span.
The index of the input point within the path. Exact: the input point is stored verbatim.
The index of the sample nearest equator — the parabola's centre, not its vertex.
Whether the path ran out of caller-supplied room before the line closed; the status is then Status::NotConverged rather than Status::Ok.
There are TWO shapes of truncation and they leave different amounts behind, so a caller must not read the scalars without checking start_index:
The BACKWARD half alone filled the buffer. The trace returns before the input point is even stored, so start_index is 0 and b_min, invariant_i and mcilwain_l are all exactly zero — nothing was integrated and nothing is reported. Reading them as a short field line would be reading zeros.
The backward half FITTED and the forward one did not. Then the quadrature ran over the partial line and the scalars describe THAT, not the field line.
