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.Action
eventOccurred(SpacecraftState s, boolean increasing)
Handle the event.double
g(SpacecraftState s)
Compute the value of the switching function.EventDetector
getDetector()
Get the wrapped detector.double
getMaxCheckInterval()
Get maximal time interval between switching function checks.int
getMaxIterationCount()
Get maximal number of iterations in the event time search.double
getThreshold()
Get the convergence threshold in the event time search.void
init(SpacecraftState s0, AbsoluteDate t)
Initialize event handler at the start of a propagation.SpacecraftState
resetState(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:
init
in 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:
g
in 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:
getThreshold
in interfaceEventDetector
- Returns:
- convergence threshold (s)
-
getMaxCheckInterval
public double getMaxCheckInterval()
Get maximal time interval between switching function checks.- Specified by:
getMaxCheckInterval
in 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:
getMaxIterationCount
in 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:
eventOccurred
in 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_STATE
indicator. 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_STATE
indicator, this function will never be called, and it is safe to simply return null.The default implementation simply returns its argument.
- Specified by:
resetState
in interfaceEventDetector
- Parameters:
oldState
- old state- Returns:
- new state
-
-