Inconsistency between getMinDate/getMaxDate and propagate in EphemerisSegmentPropagator

Hello,

When using an EphemerisSegmentPropagator built from an OemSegment, I noticed an inconsistency between the dates returned by getMinDate(), getMaxDate(), and the dates for which propagate() returns a state.

The OEM that I parse to build the propagator contains the fields USABLE_START_TIME and USABLE_STOP_TIME, which are correctly parsed and set in the OemSegment. These are the dates returned by the getMinDate() and getMaxDate() methods.

However, the propagate(target) method still returns a state if target is between the OEM USABLE_STOP_TIME and STOP_TIME (I guess it is the same at the start).

As these “usable” times are introduced to support high order interpolation methods near the boundaries of the OEM time window, I would expect the propagate() method to also respect them, and throw an exception if the requested target date is outside the “usable” interval.

What is your opinion?

Best,
Alberto

Hi Alberto,

my opinion is that it’s enough to return the usable start/stop as min/max date, and that like for other BoundedPropagator, it’s the user’s responsibility to propagate beyond these bounds.

Cheers,
Romain.