Class EstimatedMeasurement<T extends ObservedMeasurement<T>>

java.lang.Object
org.orekit.estimation.measurements.EstimatedMeasurementBase<T>
org.orekit.estimation.measurements.EstimatedMeasurement<T>
Type Parameters:
T - the type of the measurement
All Implemented Interfaces:
Comparable<ComparableMeasurement>, ComparableMeasurement, TimeStamped

public class EstimatedMeasurement<T extends ObservedMeasurement<T>> extends EstimatedMeasurementBase<T>
Class holding an estimated theoretical value associated to an observed measurement.

Note that derivatives are always computed with respect to Cartesian parameters, regardless of the type of orbital parameters generated by the propagator. Types are converted automatically as the measurements are fetched to the estimation process.

Since:
8.0
Author:
Luc Maisonobe
  • Constructor Details

    • EstimatedMeasurement

      public EstimatedMeasurement(T observedMeasurement, int iteration, int count, SpacecraftState[] states, TimeStampedPVCoordinates[] participants)
      Simple constructor.
      Parameters:
      observedMeasurement - associated observed measurement
      iteration - iteration number
      count - evaluations counter
      states - states of the spacecrafts
      participants - coordinates of the participants in signal travel order in inertial frame
    • EstimatedMeasurement

      public EstimatedMeasurement(EstimatedMeasurementBase<T> estimatedMeasurementBase)
      Constructor from measurement base.
      Parameters:
      estimatedMeasurementBase - estimated measurement base
      Since:
      12.1.3
  • Method Details

    • getStateSize

      public int getStateSize()
      Get state size.

      Warning, the setStateDerivatives(int, double[][]) method must have been called before this method is called.

      Returns:
      state size
      Since:
      10.1
    • getStateDerivatives

      public double[][] getStateDerivatives(int index)
      Get the partial derivatives of the simulated measurement with respect to state Cartesian coordinates.
      Parameters:
      index - index of the state, according to the states passed at construction
      Returns:
      partial derivatives of the simulated value with respect to state Cartesian coordinates (array of size dimension x 6)
    • setStateDerivatives

      public void setStateDerivatives(int index, double[]... derivatives)
      Set the partial derivatives of the simulated measurement with respect to state Cartesian coordinates.
      Parameters:
      index - index of the state, according to the states passed at construction
      derivatives - partial derivatives with respect to state Cartesian coordinates
    • getDerivativesDrivers

      public Stream<ParameterDriver> getDerivativesDrivers()
      Get all the drivers with set derivatives.
      Returns:
      all the drivers with set derivatives
      Since:
      9.0
    • getParameterDerivatives

      public double[] getParameterDerivatives(ParameterDriver driver) throws OrekitIllegalArgumentException
      Get the partial derivatives of the simulated measurement with respect to a parameter.
      Parameters:
      driver - name of the span of the driver for the parameter for which the derivative wants to be known.
      Returns:
      partial derivatives of the simulated value
      Throws:
      OrekitIllegalArgumentException - if parameter is unknown or OrekitIllegalStateException if this function is used on a PDriver having several values driven, in this case the method getParameterDerivatives(ParameterDriver, AbsoluteDate) must be called
    • getParameterDerivatives

      public double[] getParameterDerivatives(ParameterDriver driver, AbsoluteDate date) throws OrekitIllegalArgumentException
      Get the partial derivatives of the simulated measurement with respect to a parameter.
      Parameters:
      driver - name of the span of the driver for the parameter for which the derivative wants to be known.
      date - date at which the parameter derivatives wants to be known
      Returns:
      partial derivatives of the simulated value
      Throws:
      OrekitIllegalArgumentException - if parameter is unknown
    • setParameterDerivatives

      public void setParameterDerivatives(ParameterDriver driver, AbsoluteDate date, double... parameterDerivatives)
      Set the partial derivatives of the simulated measurement with respect to parameter.
      Parameters:
      driver - name of the span of the driver for the parameter for which the derivative wants to be known.
      date - date at which the parameterDerivative wants to be set
      parameterDerivatives - partial derivatives with respect to parameter
    • setParameterDerivatives

      public void setParameterDerivatives(ParameterDriver driver, TimeSpanMap<double[]> parameterDerivativesMap)
      Set the partial derivatives of the simulated measurement with respect to parameter.
      Parameters:
      driver - driver for the parameter
      parameterDerivativesMap - partial derivatives with respect to parameter