Inconsistency with firing date in ConstantThrustManeuver class
In ConstantThrustManeuver#getEventDetectors method, the "firing" parameter is updated when the start or end date of the maneuver is detected.
And this tells the
acceleration method whether the maneuver is currently firing or not.
But, before the event is detected, if the acceleration is evaluated during maneuver, the parameter "firing" is set to "false". This can lead to inconsistency in acceleration computation.
A proper way to fix this would be to add a method
isFiring(SpacecraftState s) that would compute the boolean
The "firing" attribute can be dropped. The detectors must be kept to reset the derivatives at maneuver start and stop time.
Attached to this report is a
ConstantThrustManeuver class that has this
isFiring method and performs some prints in the
acceleration method to detect the inconsistencies. You can see these prints when running the