Class AbstractMeasurementBuilder<T extends ObservedMeasurement<T>>

java.lang.Object
org.orekit.estimation.measurements.generation.AbstractMeasurementBuilder<T>
Type Parameters:
T - the type of the measurement
All Implemented Interfaces:
MeasurementBuilder<T>
Direct Known Subclasses:
AbstractSignalBasedBuilder, PositionBuilder, PVBuilder

public abstract class AbstractMeasurementBuilder<T extends ObservedMeasurement<T>> extends Object implements MeasurementBuilder<T>
Base class for measurements builders.
Since:
9.3
Author:
Luc Maisonobe
  • Constructor Details

    • AbstractMeasurementBuilder

      protected AbstractMeasurementBuilder(MeasurementQuality measurementQuality, ObservableSatellite... satellites)
      Simple constructor.
      Parameters:
      measurementQuality - measurement quality as used in estimation (in Orekit, the crossed-terms of the covariance matrix are only used by Kalman filters, not least squares)
      satellites - satellites related to this builder
      Since:
      14.0
  • Method Details

    • init

      public void init(AbsoluteDate start, AbsoluteDate end)
      Initialize builder at the start of a measurements generation.

      This method is called once at the start of the measurements generation. It may be used by the builder to initialize some internal data if needed, typically setting up parameters reference dates.

      This implementation stores the time span of the measurements generation.

      Specified by:
      init in interface MeasurementBuilder<T extends ObservedMeasurement<T>>
      Parameters:
      start - start of the measurements time span
      end - end of the measurements time span
    • addModifier

      public void addModifier(EstimationModifier<T> modifier)
      Add a modifier.
      Specified by:
      addModifier in interface MeasurementBuilder<T extends ObservedMeasurement<T>>
      Parameters:
      modifier - modifier to add
    • getModifiers

      public List<EstimationModifier<T>> getModifiers()
      Get the modifiers that apply to a measurement.
      Specified by:
      getModifiers in interface MeasurementBuilder<T extends ObservedMeasurement<T>>
      Returns:
      modifiers that apply to a measurement
      See Also:
    • getStart

      protected AbsoluteDate getStart()
      Get the start of the measurements time span.
      Returns:
      start of the measurements time span
    • getEnd

      protected AbsoluteDate getEnd()
      Get the end of the measurements time span.
      Returns:
      end of the measurements time span
    • getMeasurementQuality

      protected MeasurementQuality getMeasurementQuality()
      Getter for the measurement quality.
      Returns:
      measurement quality
      Since:
      14.0
    • getTheoreticalStandardDeviation

      protected double[] getTheoreticalStandardDeviation()
      Get the theoretical standard deviation.

      The theoretical standard deviation is a theoretical value used for normalizing the residuals. It acts as a weighting factor to mix appropriately measurements with different units and different accuracy. The value has the same dimension as the measurement itself (i.e. when a residual is divided by this value, it becomes dimensionless).

      Returns:
      expected standard deviation
      See Also:
    • getBaseWeight

      protected double[] getBaseWeight()
      Get the base weight associated with the measurement

      The base weight is used on residuals already normalized thanks to getTheoreticalStandardDeviation() to increase or decrease relative effect of some measurements with respect to other measurements. It is a dimensionless value, typically between 0 and 1 (but it can really have any non-negative value).

      Returns:
      base weight
      See Also:
    • getSatellites

      public ObservableSatellite[] getSatellites()
      Get the satellites related to this measurement.
      Specified by:
      getSatellites in interface MeasurementBuilder<T extends ObservedMeasurement<T>>
      Returns:
      satellites related to this measurement
    • buildObserved

      protected abstract T buildObserved(AbsoluteDate date, Map<ObservableSatellite,OrekitStepInterpolator> interpolators)
      Build a dummy observed measurement.
      Parameters:
      date - measurement date
      interpolators - interpolators relevant for this builder
      Returns:
      dummy observed measurement
      Since:
      13.0
    • build

      Generate a single measurement.
      Specified by:
      build in interface MeasurementBuilder<T extends ObservedMeasurement<T>>
      Parameters:
      date - measurement date
      interpolators - interpolators relevant for this builder
      Returns:
      generated measurement