|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectfr.cnes.sirius.patrius.propagation.events.multi.MultiAbstractDetector
fr.cnes.sirius.patrius.propagation.events.multi.OneSatEventDetectorWrapper
public class OneSatEventDetectorWrapper
This class allows to convert an EventDetector into a MultiEventDetector. The EventDetector is
associated with a single spacecraft identified by its ID.
MultiPropagator.addEventDetector(EventDetector, String)| Field Summary |
|---|
| Fields inherited from class fr.cnes.sirius.patrius.propagation.events.multi.MultiAbstractDetector |
|---|
DEFAULT_MAX_ITERATION_COUNT, DEFAULT_MAXCHECK, DEFAULT_THRESHOLD |
| Fields inherited from interface org.orekit.propagation.events.multi.MultiEventDetector |
|---|
DECREASING, INCREASING, INCREASING_DECREASING |
| Constructor Summary | |
|---|---|
OneSatEventDetectorWrapper(EventDetector detector,
String satId)
Simple constructor. |
|
| Method Summary | |
|---|---|
EventDetector.Action |
eventOccurred(Map<String,SpacecraftState> s,
boolean increasing,
boolean forward)
Handle an event and choose what to do next. |
double |
g(Map<String,SpacecraftState> s)
Compute the value of the switching function. |
String |
getID()
Returns the ID of the spacecraft associated with the detector. |
void |
init(Map<String,SpacecraftState> s0,
AbsoluteDate t)
Initialize event handler at the start of a propagation. |
Map<String,SpacecraftState> |
resetStates(Map<String,SpacecraftState> oldStates)
Reset the states (including additional states) prior to continue propagation. |
boolean |
shouldBeRemoved()
This method is called after the step handler has returned and before the next step is started, but only when MultiEventDetector.eventOccurred(java.util.Map has been called. |
| Methods inherited from class fr.cnes.sirius.patrius.propagation.events.multi.MultiAbstractDetector |
|---|
getMaxCheckInterval, getMaxIterationCount, getSlopeSelection, getThreshold |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public OneSatEventDetectorWrapper(EventDetector detector,
String satId)
detector - the event detectorsatId - the ID of the spacecraft associated with the detector| Method Detail |
|---|
public void init(Map<String,SpacecraftState> s0,
AbsoluteDate t)
MultiEventDetectorThis 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.
init in interface MultiEventDetectorinit in class MultiAbstractDetectors0 - map of initial statest - target time for the integration
public double g(Map<String,SpacecraftState> s)
throws OrekitException
MultiEventDetectorThis function must be continuous (at least in its roots neighborhood), as the integrator will need to find its roots to locate the events.
g in interface MultiEventDetectorg in class MultiAbstractDetectors - the current states information: date, kinematics, attitudes for forces
and events computation, and additional states for each states
OrekitException - if some specific error occurs
public EventDetector.Action eventOccurred(Map<String,SpacecraftState> s,
boolean increasing,
boolean forward)
throws OrekitException
MultiEventDetector
The scheduling between this method and the MultiOrekitStepHandler method handleStep is to call this method first
and handleStep afterwards. This scheduling allows the propagator to pass true as the
isLast parameter to the step handler to make it aware the step will be the last one if this method
returns EventDetector.Action.STOP. As the interpolator may be used to
navigate back throughout the last step MultiOrekitStepNormalizer does for example), user code called by this
method and user code called by step handlers may experience apparently out of order values of the independent
time variable. As an example, if the same user object implements both this MultiEventDetector interface and the MultiOrekitFixedStepHandler interface, a forward integration may
call its eventOccurred method with a state at 2000-01-01T00:00:10 first and call its
handleStep method with a state at 2000-01-01T00:00:09 afterwards. Such out of order calls are
limited to the size of the integration step for MultiOrekitStepHandler and to the size of the fixed step for
MultiOrekitFixedStepHandler.
eventOccurred in interface MultiEventDetectoreventOccurred in class MultiAbstractDetectors - the current states information: date, kinematics, attitude for forces
and events computation, and additional states for each statesincreasing - if true, the value of the switching function increases
when times increases around event (note that increase is measured with respect
to physical time, not with respect to propagation which may go backward in time)forward - if true, the integration variable (time) increases during integration.
EventDetector.Action.STOP,
EventDetector.Action.RESET_STATE,
EventDetector.Action.RESET_DERIVATIVES,
EventDetector.Action.CONTINUE
OrekitException - if some specific error occurspublic boolean shouldBeRemoved()
MultiEventDetectorThis method is called after the step handler has returned and
before the next step is started, but only when MultiEventDetector.eventOccurred(java.util.Map has been called.
shouldBeRemoved in interface MultiEventDetectorshouldBeRemoved in class MultiAbstractDetector
public Map<String,SpacecraftState> resetStates(Map<String,SpacecraftState> oldStates)
throws OrekitException
MultiEventDetector
This method is called after the step handler has returned and before the next step is started, but only when
MultiEventDetector.eventOccurred(java.util.Map has itself returned the
EventDetector.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 the MultiEventDetector.eventOccurred(java.util.Map
never returns the EventDetector.Action.RESET_STATE indicator, this function
will never be called, and it is safe to simply return null.
resetStates in interface MultiEventDetectorresetStates in class MultiAbstractDetectoroldStates - old states
OrekitException - if the states cannot be resetedpublic String getID()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||