T
- the type of EventDetector
that this event handler will handle events
for.E
- the type of RealFieldElement
to use instead of double
.public class FieldRecordAndContinue<T extends FieldEventDetector<E>,E extends RealFieldElement<E>> extends Object implements FieldEventHandler<T,E>
Action.CONTINUE
.
As this handler stores all observed events it may consume large amounts of memory depending on the duration of propagation and the frequency of events.
RecordAndContinue
Modifier and Type | Class and Description |
---|---|
static class |
FieldRecordAndContinue.Event<T,F extends RealFieldElement<F>>
A single event detected during propagation.
|
Constructor and Description |
---|
FieldRecordAndContinue()
Create a new handler using an
ArrayList to store events. |
FieldRecordAndContinue(List<FieldRecordAndContinue.Event<T,E>> events)
Create a handler using the given collection to store events.
|
Modifier and Type | Method and Description |
---|---|
void |
clear()
Clear all stored events.
|
Action |
eventOccurred(FieldSpacecraftState<E> s,
T detector,
boolean increasing)
eventOccurred method mirrors the same interface method as in
EventDetector
and its subclasses, but with an additional parameter that allows the calling
method to pass in an object from the detector which would have potential
additional data to allow the implementing class to determine the correct
return state. |
List<FieldRecordAndContinue.Event<T,E>> |
getEvents()
Get the events passed to this handler.
|
FieldSpacecraftState<E> |
resetState(T detector,
FieldSpacecraftState<E> oldState)
Reset the state prior to continue propagation.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
init
public FieldRecordAndContinue()
ArrayList
to store events.public FieldRecordAndContinue(List<FieldRecordAndContinue.Event<T,E>> events)
events
- collection.public List<FieldRecordAndContinue.Event<T,E>> getEvents()
Note the returned list of events is in the order the events were
passed to this handler by calling eventOccurred(FieldSpacecraftState,
FieldEventDetector, boolean)
. This may or may not be chronological order.
Also not that this method returns a view of the internal collection used to store events and calling any of this handler's methods may modify both the underlying collection and the returned view. If a snapshot of the events up to a certain point is needed create a copy of the returned collection.
public void clear()
public Action eventOccurred(FieldSpacecraftState<E> s, T detector, boolean increasing)
FieldEventHandler
EventDetector
and its subclasses, but with an additional parameter that allows the calling
method to pass in an object from the detector which would have potential
additional data to allow the implementing class to determine the correct
return state.eventOccurred
in interface FieldEventHandler<T extends FieldEventDetector<E>,E extends RealFieldElement<E>>
s
- SpaceCraft state to be used in the evaluationdetector
- object with appropriate type that can be used in determining correct return stateincreasing
- with the event occurred in an "increasing" or "decreasing" slope directionpublic FieldSpacecraftState<E> resetState(T detector, FieldSpacecraftState<E> oldState)
FieldEventHandler
This method is called after the step handler has returned and
before the next step is started, but only when FieldEventHandler.eventOccurred(org.orekit.propagation.FieldSpacecraftState<T>, KK, boolean)
has itself returned the 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
FieldEventHandler.eventOccurred(org.orekit.propagation.FieldSpacecraftState<T>, KK, boolean)
never returns the Action.RESET_STATE
indicator, this function will never be called, and it is safe to simply return null.
The default implementation simply return its argument.
resetState
in interface FieldEventHandler<T extends FieldEventDetector<E>,E extends RealFieldElement<E>>
detector
- object with appropriate type that can be used in determining correct return stateoldState
- old stateCopyright © 2002-2020 CS Group. All rights reserved.