nyx_space::od

Trait Measurement

Source
pub trait Measurement: Copy + TimeTagged {
    type MeasurementSize: DimName;

    // Required methods
    fn fields() -> Vec<Field>;
    fn from_observation(
        epoch: Epoch,
        obs: OVector<f64, Self::MeasurementSize>,
    ) -> Self
       where DefaultAllocator: Allocator<Self::MeasurementSize>;
    fn observation(&self) -> OVector<f64, Self::MeasurementSize>
       where DefaultAllocator: Allocator<Self::MeasurementSize>;
}
Expand description

A trait defining a measurement that can be used in the orbit determination process.

Required Associated Types§

Source

type MeasurementSize: DimName

Defines how much data is measured. For example, if measuring range and range rate, this should be of size 2 (nalgebra::U2).

Required Methods§

Source

fn fields() -> Vec<Field>

Returns the fields for this kind of measurement. The metadata must include a unit field with the unit.

Source

fn from_observation( epoch: Epoch, obs: OVector<f64, Self::MeasurementSize>, ) -> Self

Initializes a new measurement from the provided data.

Source

fn observation(&self) -> OVector<f64, Self::MeasurementSize>

Returns the measurement/observation as a vector.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§