Class StepHandlerMultiplexer
- java.lang.Object
-
- org.orekit.propagation.sampling.StepHandlerMultiplexer
-
- All Implemented Interfaces:
OrekitStepHandler
public class StepHandlerMultiplexer extends Object implements OrekitStepHandler
This class gathers severalOrekitStepHandler
instances into one.- Author:
- Luc Maisonobe
-
-
Constructor Summary
Constructors Constructor Description StepHandlerMultiplexer()
Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(double h, OrekitFixedStepHandler handler)
Add a handler for fixed size step.void
add(OrekitStepHandler handler)
Add a handler for variable size step.void
clear()
Remove all handlers managed by this multiplexer.void
finish(SpacecraftState finalState)
Finalize propagation.List<OrekitStepHandler>
getHandlers()
Get an unmodifiable view of all handlers.void
handleStep(OrekitStepInterpolator interpolator)
Handle the current step.void
init(SpacecraftState s0, AbsoluteDate t)
Initialize step handler at the start of a propagation.void
remove(OrekitFixedStepHandler handler)
Remove a handler.void
remove(OrekitStepHandler handler)
Remove a handler.
-
-
-
Method Detail
-
add
public void add(OrekitStepHandler handler)
Add a handler for variable size step.If propagation is ongoing (i.e. global
init
already called and globalfinish
not called yet), then the localOrekitStepHandler.init
method of the added handler will be called with the last known state, so the handler starts properly.- Parameters:
handler
- step handler to add
-
add
public void add(double h, OrekitFixedStepHandler handler)
Add a handler for fixed size step.If propagation is ongoing (i.e. global
init
already called and globalfinish
not called yet), then the localOrekitFixedStepHandler.init
method of the added handler will be called with the last known state, so the handler starts properly.- Parameters:
h
- fixed stepsize (s)handler
- handler called at the end of each finalized step- Since:
- 11.0
-
getHandlers
public List<OrekitStepHandler> getHandlers()
Get an unmodifiable view of all handlers.Note that if
fixed step handlers
have beenadd(double, OrekitFixedStepHandler)
, then they will show up wrapped withinstep normalizers
.- Returns:
- an unmodifiable view of all handlers
- Since:
- 11.0
-
remove
public void remove(OrekitStepHandler handler)
Remove a handler.If propagation is ongoing (i.e. global
init
already called and globalfinish
not called yet), then the localOrekitStepHandler.finish
method of the removed handler will be called with the last known state, so the handler stops properly.- Parameters:
handler
- step handler to remove- Since:
- 11.0
-
remove
public void remove(OrekitFixedStepHandler handler)
Remove a handler.If propagation is ongoing (i.e. global
init
already called and globalfinish
not called yet), then the localOrekitFixedStepHandler.finish
method of the removed handler will be called with the last known state, so the handler stops properly.- Parameters:
handler
- step handler to remove- Since:
- 11.0
-
clear
public void clear()
Remove all handlers managed by this multiplexer.If propagation is ongoing (i.e. global
init
already called and globalfinish
not called yet), then the localOrekitStepHandler.finish
andOrekitFixedStepHandler.finish
methods of the removed handlers will be called with the last known state, so the handlers stop properly.- Since:
- 11.0
-
init
public void init(SpacecraftState s0, AbsoluteDate t)
Initialize step handler at the start of a propagation.This method is called once at the start of the propagation. It may be used by the step handler to initialize some internal data if needed.
The default method does nothing
- Specified by:
init
in interfaceOrekitStepHandler
- Parameters:
s0
- initial statet
- target time for the integration
-
handleStep
public void handleStep(OrekitStepInterpolator interpolator)
Handle the current step.- Specified by:
handleStep
in interfaceOrekitStepHandler
- Parameters:
interpolator
- interpolator set up for the current step
-
finish
public void finish(SpacecraftState finalState)
Finalize propagation.- Specified by:
finish
in interfaceOrekitStepHandler
- Parameters:
finalState
- state at propagation end
-
-