pub struct SpaceTimeCoordinate<R: Real + Div<Output = R>> {
pub timestamp: u64,
pub sat_id: u32,
pub r_m: R,
pub v_ms: R,
pub clock_bias_s: R,
pub position: [R; 3],
pub velocity: [R; 3],
pub clock_drift_rate: R,
}Expand description
Represents a point in 4D Space-Time with associated kinematic and clock data.
This is the fundamental that maps a measurable “Clock Event” (timestamp + bias) to a “Geometric Event” (position + velocity) ensuring that $M \leftrightarrow T$ (Mass-Time Equivalence) can be calculated.
§Type Parameter
R: real analytic scalar (e.g.,f64,Float106, orDualfor forward-mode automatic differentiation) —Real + Div, not the strongerRealField.
Fields§
§timestamp: u64The UTC timestamp in seconds (Unix Epoch).
sat_id: u32Satellite ID (e.g., E14)
r_m: RRadius from Earth’s center of mass (meters) $|r|$
v_ms: RVelocity magnitude relative to Earth (m/s) $|v|$
clock_bias_s: RRaw clock bias (seconds), uncorrected for relativistic effects.
position: [R; 3]Full 3D position vector [x, y, z] (ITRF frame)
velocity: [R; 3]Full 3D velocity vector [vx, vy, vz] (ITRF frame)
clock_drift_rate: RRate of change of clock bias (seconds/second), i.e., frequency offset. This corresponds to $\mathcal{T} - 1$.
Implementations§
Source§impl<R: Real + Div<Output = R> + FromPrimitive> SpaceTimeCoordinate<R>
impl<R: Real + Div<Output = R> + FromPrimitive> SpaceTimeCoordinate<R>
Sourcepub fn get_total_bias(&self) -> R
pub fn get_total_bias(&self) -> R
Helper to restore relativistic effects removed by IGS. Calculates $\Delta t_{periodic} = -2(\vec{r} \cdot \vec{v}) / c^2$
Trait Implementations§
Source§impl<R: Clone + Real + Div<Output = R>> Clone for SpaceTimeCoordinate<R>
impl<R: Clone + Real + Div<Output = R>> Clone for SpaceTimeCoordinate<R>
Source§fn clone(&self) -> SpaceTimeCoordinate<R>
fn clone(&self) -> SpaceTimeCoordinate<R>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl<R: Copy + Real + Div<Output = R>> Copy for SpaceTimeCoordinate<R>
Source§impl<R: PartialEq + Real + Div<Output = R>> PartialEq for SpaceTimeCoordinate<R>
impl<R: PartialEq + Real + Div<Output = R>> PartialEq for SpaceTimeCoordinate<R>
Source§fn eq(&self, other: &SpaceTimeCoordinate<R>) -> bool
fn eq(&self, other: &SpaceTimeCoordinate<R>) -> bool
self and other values to be equal, and is used by ==.