Geometry-free measurement in Orekit

Hi all,

In the next version of Orekit, combination of measurements will be available for the Orekit’s users (It is still available in the develop branch). One of the available combination of measurements is the geometry-free. This combination removes the geometry part of the measurement. It can be used with two range or phase measurements at two different frequencies.

However, I think that Orekit is not able to create and use a geometry-free range or phase measurement because the geometry part of the measurement is always computed with the theoreticalEvaluation(int, int, SpacecraftState[]) method during the measurement estimation.

There are two solutions to solve this problem:

  1. Add a flag to the AbstractMeasurement class to specify if the measurement is geometry-free or not. If true, the theoreticalEvaluation(int, int, SpacecraftState[]) method is not called.
    Drawback: API change so we have to wait the next major release of Orekit to perform that.

  2. Create two new classes: GeometryFreeRange and GeometryFreePhase for which the theoreticalEvaluation(int, int, SpacecraftState[]) method returns an estimated measurement with an estimated value equal to 0.0.
    Advantage: Compatible with a minor release of Orekit and easy to implement.

I prefer the second solution but I wanted to know your opinion about this.

Regards

Bryan