While trying to find a way for what I aim to do, I found that when you setMasterMode on an Analytical Propagator it will assume a hardcoded Step-Size of a 100th KeplerianPeriod (See AbstractAnalyticalPropagator - Line 131).
You are able to set a custom one with the overloaded method, but that forces one to use the FixedStepHandler instead of a general StepHandler. The question is if this is intentional and if it could be changed to allow a general OrekitStepHandler with a custom Step Size in an analytical propagator?
Context/why?
I currently use EventDetectors to find certain Multi-Satellite events. But in many cases I throw the result away afterwards, because it is irrelevant. The Detectors are designed to show a g-flip even with high step sizes. Increasing Step size is the most performance increasing thing to do, I found so far, that’s why I want them to skip over as most uninteresting area as possible.
But when there is a g-flip it always has to solve the whole root, even though half way through I could determine if finding the root is actually neccesary. Just setting the g arbitrarily to 0.0 didn’t work as expected to abort a root Finding process, instead it increases it even longer. My guess is, because it breaks continuity of the function unexpectedly.
Anyway an alternative idea is to use a custom StepHandler to find the events instead of Detectors, which would allow to customize how to find roots and also abort the process mid-way. It also could get rid of the sorting mechanism, as I actually don’t care of the order of those events. But to construct a Handler as some kind of detector, I would need the interpolator for the whole step and not just one SpacecraftState. But, as mentioned above, that forces a step-size of 100th period, which makes the whole effort to make big steps for performance useless.
So, my suggestion/question would be, if a custom step for MasterMode with general StepHandlers is possible / viable for the future? And/or if there is a more convenient way to achieve what I want in a different functionality (analytical prop, multi-sat events with an embedded slave prop, order of events doesnt matter, most events could be canceled during the root-finding, goal of big steps in between times with zero events) ?
Best regards