Class AdapterDetector
- java.lang.Object
-
- org.orekit.propagation.events.AdapterDetector
-
- All Implemented Interfaces:
Serializable,EventDetector
public class AdapterDetector extends Object implements EventDetector
Base class for adapting an existing detector.This class is intended to be a base class for changing behaviour of a wrapped existing detector. This base class delegates all its methods to the wrapped detector. Classes extending it can therefore override only the methods they want to change.
- Since:
- 9.3
- Author:
- Luc Maisonobe
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description AdapterDetector(EventDetector detector)Build an adaptor wrapping an existing detector.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description EventHandler.ActioneventOccurred(SpacecraftState s, boolean increasing)Handle the event.doubleg(SpacecraftState s)Compute the value of the switching function.EventDetectorgetDetector()Get the wrapped detector.doublegetMaxCheckInterval()Get maximal time interval between switching function checks.intgetMaxIterationCount()Get maximal number of iterations in the event time search.doublegetThreshold()Get the convergence threshold in the event time search.voidinit(SpacecraftState s0, AbsoluteDate t)Initialize event handler at the start of a propagation.SpacecraftStateresetState(SpacecraftState oldState)Reset the state prior to continue propagation.
-
-
-
Constructor Detail
-
AdapterDetector
public AdapterDetector(EventDetector detector)
Build an adaptor wrapping an existing detector.- Parameters:
detector- detector to wrap
-
-
Method Detail
-
getDetector
public EventDetector getDetector()
Get the wrapped detector.- Returns:
- wrapped detector
-
init
public void init(SpacecraftState s0, AbsoluteDate t)
Initialize event handler at the start of a propagation.This method is called once at the start of the propagation. It may be used by the event handler to initialize some internal data if needed.
The default implementation does nothing
- Specified by:
initin interfaceEventDetector- Parameters:
s0- initial statet- target time for the integration
-
g
public double g(SpacecraftState s)
Compute the value of the switching function. This function must be continuous (at least in its roots neighborhood), as the integrator will need to find its roots to locate the events.- Specified by:
gin interfaceEventDetector- Parameters:
s- the current state information: date, kinematics, attitude- Returns:
- value of the switching function
-
getThreshold
public double getThreshold()
Get the convergence threshold in the event time search.- Specified by:
getThresholdin interfaceEventDetector- Returns:
- convergence threshold (s)
-
getMaxCheckInterval
public double getMaxCheckInterval()
Get maximal time interval between switching function checks.- Specified by:
getMaxCheckIntervalin interfaceEventDetector- Returns:
- maximal time interval (s) between switching function checks
-
getMaxIterationCount
public int getMaxIterationCount()
Get maximal number of iterations in the event time search.- Specified by:
getMaxIterationCountin interfaceEventDetector- Returns:
- maximal number of iterations in the event time search
-
eventOccurred
public EventHandler.Action eventOccurred(SpacecraftState s, boolean increasing)
Handle the event.- Specified by:
eventOccurredin interfaceEventDetector- Parameters:
s- SpaceCraft state to be used in the evaluationincreasing- with the event occurred in an "increasing" or "decreasing" slope direction- Returns:
- the Action that the calling detector should pass back to the evaluation system
-
resetState
public SpacecraftState resetState(SpacecraftState oldState)
Reset the state prior to continue propagation.This method is called after the step handler has returned and before the next step is started, but only when
EventDetector.eventOccurred(org.orekit.propagation.SpacecraftState, boolean)has itself returned theEventHandler.Action.RESET_STATEindicator. It allows the user to reset the state for the next step, without perturbing the step handler of the finishing step. If theEventDetector.eventOccurred(org.orekit.propagation.SpacecraftState, boolean)never returns theEventHandler.Action.RESET_STATEindicator, this function will never be called, and it is safe to simply return null.The default implementation simply returns its argument.
- Specified by:
resetStatein interfaceEventDetector- Parameters:
oldState- old state- Returns:
- new state
-
-