Disable temporarily a detector with a maxCheck too small?


I am working on a specific case where I have two events very close in time (< 0.01s) . I use a DateDetector to detect them, but as there are very close, I need a maxCheck very small in order to not miss them. Problem is, my computing time is then very high, of course.
Would there be a way to “disable” the detector when we are far from the dual event, or to change the maxCheck value during the propagation ?

Thank you


I first thought you could try to wrap the detector in an EventEnablingPredicateFilter and use withMaxCheck to override the max check on the wrapper, but now think it would not work either
because the propagator would always see the wrapper only so it may miss the events pair.

If I remember well, someone (probably Thomas) asked for such a feature almost 10 years ago and we never implemented it. I’m afraid it is not possible yet in Orekit :worried:
Please open a feature request for this on the issue tracker so we don’t forget it once more. I think it will need to be done both at Orekit level (for analytical propagators) and at Hipparchus level (because numerical propagator delegates events handling to Hipparchus ODE integrators).

Thank you for your answer.
In my case I separated in two detectors with the same handler, my results are not affected but the computation time is very short now.



Nice solution!