Wrong behavior of method "propagate(tStart, tEnd)" when used with "setResetAtEnd(false)"
When setResetAtEnd is called with false, the initial state of the propagation remains unchanged after the propagation.
When propagate(tStart, tEnd)
is called and tStart is different from the epoch of the initial state, a first integration is done. But neither the event detectors nor the ephemeris generator are set up yet during this integration.
If resetAtEnd=false
, the initial state is unchanged for the second propagation so this first propagation is lost.
Then, in a second time, the dynamics is integrated from initial state date to tEnd, with event detectors and ephemeris generators activated.
So technically, if resetAtEnd=false
then the result of:
propagate(tStart, tEnd)
seems strictly equivalent to:
propagate(tEnd)
TestEphemeris.java