Class FieldStepHandlerMultiplexer<T extends CalculusFieldElement<T>>
- Type Parameters:
T- type of the field elements
- All Implemented Interfaces:
FieldOrekitStepHandler<T>
OrekitStepHandler instances into one.- Author:
- Luc Maisonobe
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(FieldOrekitStepHandler<T> handler) Add a handler for variable size step.voidadd(T h, FieldOrekitFixedStepHandler<T> handler) Add a handler for fixed size step.voidclear()Remove all handlers managed by this multiplexer.voidfinish(FieldSpacecraftState<T> finalState) Finalize propagation.Get an unmodifiable view of all handlers.voidhandleStep(FieldOrekitStepInterpolator<T> interpolator) Handle the current step.voidinit(FieldSpacecraftState<T> s0, FieldAbsoluteDate<T> t) Initialize step handler at the start of a propagation.voidremove(FieldOrekitFixedStepHandler<T> handler) Remove a handler.voidremove(FieldOrekitStepHandler<T> handler) Remove a handler.
-
Constructor Details
-
FieldStepHandlerMultiplexer
public FieldStepHandlerMultiplexer()Simple constructor.
-
-
Method Details
-
add
Add a handler for variable size step.If propagation is ongoing (i.e. global
initalready called and globalfinishnot called yet), then the localFieldOrekitStepHandler.initmethod of the added handler will be called with the last known state, so the handler starts properly.- Parameters:
handler- step handler to add
-
add
Add a handler for fixed size step.If propagation is ongoing (i.e. global
initalready called and globalfinishnot called yet), then the localFieldOrekitStepHandler.initmethod 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
Get an unmodifiable view of all handlers.Note that if
fixed step handlershave beenadd(CalculusFieldElement, FieldOrekitFixedStepHandler), then they will show up wrapped withinstep normalizers.- Returns:
- an unmodifiable view of all handlers
- Since:
- 11.0
-
remove
Remove a handler.If propagation is ongoing (i.e. global
initalready called and globalfinishnot called yet), then the localFieldOrekitStepHandler.finishmethod 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
Remove a handler.If propagation is ongoing (i.e. global
initalready called and globalfinishnot called yet), then the localFieldOrekitFixedStepHandler.finishmethod 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
initalready called and globalfinishnot called yet), then the localFieldOrekitStepHandler.finishandFieldOrekitFixedStepHandler.finishmethods of the removed handlers will be called with the last known state, so the handlers stop properly.- Since:
- 11.0
-
init
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.
- Specified by:
initin interfaceFieldOrekitStepHandler<T extends CalculusFieldElement<T>>- Parameters:
s0- initial statet- target time for the integration
-
handleStep
Handle the current step.- Specified by:
handleStepin interfaceFieldOrekitStepHandler<T extends CalculusFieldElement<T>>- Parameters:
interpolator- interpolator set up for the current step
-
finish
Finalize propagation.- Specified by:
finishin interfaceFieldOrekitStepHandler<T extends CalculusFieldElement<T>>- Parameters:
finalState- state at propagation end
-