Class FieldNodeDetector<T extends CalculusFieldElement<T>>
- Type Parameters:
T- type of the field elements
- All Implemented Interfaces:
FieldEventDetector<T>
This class finds equator crossing events (i.e. ascending or descending node crossing).
The default implementation behavior is to continue
propagation at descending node crossing and to stop propagation
at ascending node crossing. This can be changed by calling
FieldAbstractDetector.withHandler(FieldEventHandler) after construction.
Beware that node detection will fail for almost equatorial orbits. If
for example a node detector is used to trigger an ImpulseManeuver and the maneuver
turn the orbit plane to equator, then the detector may completely fail just
after the maneuver has been performed! This is a real case that has been
encountered during validation ...
- Author:
- Luc Maisonobe
- See Also:
-
Field Summary
Fields inherited from class org.orekit.propagation.events.FieldAbstractDetector
DEFAULT_MAX_CHECK, DEFAULT_MAX_ITER, DEFAULT_THRESHOLD -
Constructor Summary
ConstructorsModifierConstructorDescriptionFieldNodeDetector(Field<T> field, Frame frame) Build a new instance with default detection settings and stopping handler.FieldNodeDetector(FieldOrbit<T> orbit, Frame frame) Build a new instance.protectedFieldNodeDetector(FieldEventDetectionSettings<T> detectionSettings, FieldEventHandler<T> handler, Frame frame) Constructor with detection settings and handler.protectedFieldNodeDetector(NodeEventFunction nodeEventFunction, FieldEventDetectionSettings<T> detectionSettings, FieldEventHandler<T> handler) Protected constructor with full parameters.FieldNodeDetector(T threshold, FieldOrbit<T> orbit, Frame frame) Build a new instance. -
Method Summary
Modifier and TypeMethodDescriptionprotected FieldNodeDetector<T> create(FieldEventDetectionSettings<T> detectionSettings, FieldEventHandler<T> newHandler) Build a new instance.g(FieldSpacecraftState<T> s) Compute the value of the switching function.getFrame()Get the frame in which the equator is defined.toEventDetector(EventHandler eventHandler) Build non-Field instance.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
-
FieldNodeDetector
Build a new instance with default detection settings and stopping handler. -
FieldNodeDetector
Build a new instance.The orbit is used only to set an upper bound for the max check interval to period/3 and to set the convergence threshold according to orbit size.
-
FieldNodeDetector
Build a new instance.The orbit is used only to set an upper bound for the max check interval to period/3.
-
FieldNodeDetector
protected FieldNodeDetector(FieldEventDetectionSettings<T> detectionSettings, FieldEventHandler<T> handler, Frame frame) Constructor with detection settings and handler. -
FieldNodeDetector
protected FieldNodeDetector(NodeEventFunction nodeEventFunction, FieldEventDetectionSettings<T> detectionSettings, FieldEventHandler<T> handler) Protected constructor with full parameters.This constructor is not public as users are expected to use the builder API with the various
withXxx()methods to set up the instance in a readable manner without using a huge amount of parameters.
-
-
Method Details
-
create
protected FieldNodeDetector<T> create(FieldEventDetectionSettings<T> detectionSettings, FieldEventHandler<T> newHandler) Build a new instance.- Specified by:
createin classFieldAbstractDetector<FieldNodeDetector<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
-
getFrame
Get the frame in which the equator is defined.- Returns:
- the frame in which the equator is defined
-
g
Compute the value of the switching function. This function computes the Z position in the defined frame.- Parameters:
s- the current state information: date, kinematics, attitude- Returns:
- value of the switching function
-
toEventDetector
Build non-Field instance.- Overrides:
toEventDetectorin classFieldAbstractDetector<FieldNodeDetector<T extends CalculusFieldElement<T>>,T extends CalculusFieldElement<T>> - Parameters:
eventHandler- event handler- Returns:
- event detector
-