Package org.orekit.propagation.events
Class FieldFunctionalDetector<T extends CalculusFieldElement<T>>
java.lang.Object
org.orekit.propagation.events.FieldAbstractDetector<FieldFunctionalDetector<T>,T>
org.orekit.propagation.events.FieldFunctionalDetector<T>
- Type Parameters:
T- the type of numbers this detector uses.
- All Implemented Interfaces:
FieldEventDetector<T>
public class FieldFunctionalDetector<T extends CalculusFieldElement<T>>
extends FieldAbstractDetector<FieldFunctionalDetector<T>,T>
A detector that implements the
g(FieldSpacecraftState) function using a lambda
that can be set using withFunction(Function).
For example, to create a simple date detector use:
FieldFunctionalDetector<T> d = new FieldFunctionalDetector<>(field)
.withGFunction((s) -> s.getDate().durationFrom(triggerDate))
.withMaxCheck(field.getZero().add(1e10));
- Since:
- 10.2
- Author:
- Evan Ward
-
Field Summary
Fields inherited from class org.orekit.propagation.events.FieldAbstractDetector
DEFAULT_MAX_CHECK, DEFAULT_MAX_ITER, DEFAULT_THRESHOLD -
Constructor Summary
ConstructorsModifierConstructorDescriptionFieldFunctionalDetector(Field<T> field) Create an event detector with the default values.protectedFieldFunctionalDetector(FieldEventDetectionSettings<T> detectionSettings, FieldEventHandler<T> handler, Function<FieldSpacecraftState<T>, T> function) Protected constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected FieldFunctionalDetector<T> create(FieldEventDetectionSettings<T> detectionSettings, FieldEventHandler<T> newHandler) Build a new instance.g(FieldSpacecraftState<T> s) Compute the value of the switching function.Get the switching function.toEventDetector(EventHandler eventHandler) Build non-Field instance.withFunction(Function<FieldSpacecraftState<T>, T> newGFunction) Create a new event detector with a new g function, keeping all other attributes the same.Methods inherited from class org.orekit.propagation.events.FieldAbstractDetector
checkIfForward, getDetectionSettings, getEventFunction, getHandler, init, isForward, withDetectionSettings, withHandler, withMaxCheck, withMaxCheck, withMaxIter, withThresholdMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.orekit.propagation.events.FieldEventDetector
finish, getMaxCheckInterval, getMaxIterationCount, getThreshold, reset
-
Constructor Details
-
FieldFunctionalDetector
Create an event detector with the default values. These areFieldAbstractDetector.DEFAULT_MAX_CHECK,FieldAbstractDetector.DEFAULT_THRESHOLD,FieldAbstractDetector.DEFAULT_MAX_ITER,ContinueOnEvent, and a g function that is identically unity.- Parameters:
field- on which this detector is defined.
-
FieldFunctionalDetector
protected FieldFunctionalDetector(FieldEventDetectionSettings<T> detectionSettings, FieldEventHandler<T> handler, Function<FieldSpacecraftState<T>, T> function) Protected constructor.- Parameters:
detectionSettings- event detection settingshandler- event handler to call at event occurrencesfunction- the switching function.- Since:
- 13.0
-
-
Method Details
-
g
Description copied from interface:FieldEventDetectorCompute 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.- Parameters:
s- the current state information: date, kinematics, attitude- Returns:
- value of the switching function
-
create
protected FieldFunctionalDetector<T> create(FieldEventDetectionSettings<T> detectionSettings, FieldEventHandler<T> newHandler) Description copied from class:FieldAbstractDetectorBuild a new instance.- Specified by:
createin classFieldAbstractDetector<FieldFunctionalDetector<T extends CalculusFieldElement<T>>,T extends CalculusFieldElement<T>> - Parameters:
detectionSettings- detection settingsnewHandler- event handler to call at event occurrences- Returns:
- a new instance of the appropriate sub-type
-
withFunction
Create a new event detector with a new g function, keeping all other attributes the same. It is recommended to useFieldAbstractDetector.withMaxCheck(FieldAdaptableInterval)andFieldAbstractDetector.withThreshold(CalculusFieldElement)to set appropriate values for this g function.- Parameters:
newGFunction- the new g function.- Returns:
- a new detector with the new g function.
-
getFunction
Get the switching function.- Returns:
- the function used in
g(FieldSpacecraftState).
-
toEventDetector
Build non-Field instance.- Overrides:
toEventDetectorin classFieldAbstractDetector<FieldFunctionalDetector<T extends CalculusFieldElement<T>>,T extends CalculusFieldElement<T>> - Parameters:
eventHandler- event handler- Returns:
- event detector
-