Class NodeDetector
- All Implemented Interfaces:
EventDetector
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
AbstractDetector.withHandler(EventHandler) 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.AbstractDetector
DEFAULT_MAX_ITER -
Constructor Summary
ConstructorsModifierConstructorDescriptionNodeDetector(double threshold, Orbit orbit, Frame frame) Build a new instance.NodeDetector(Frame frame) Build a new instance.NodeDetector(Orbit orbit, Frame frame) Build a new instance.NodeDetector(EventDetectionSettings detectionSettings, EventHandler handler, Frame frame) Constructor with detection settings and handler.protectedNodeDetector(NodeEventFunction nodeEventFunction, EventDetectionSettings detectionSettings, EventHandler handler) Protected constructor with full parameters. -
Method Summary
Modifier and TypeMethodDescriptionprotected NodeDetectorcreate(EventDetectionSettings detectionSettings, EventHandler newHandler) Build a new instance.doubleg(SpacecraftState s) Compute the value of the switching function.getFrame()Get the frame in which the equator is defined.Methods inherited from class org.orekit.propagation.events.AbstractDetector
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.EventDetector
finish, getMaxCheckInterval, getMaxIterationCount, getThreshold, reset
-
Constructor Details
-
NodeDetector
Build a new instance.The default
max check intervalis set to 1800s, it can be changed usingAbstractDetector.withMaxCheck(double)in the fluent API. The defaultconvergence thresholdis set to 1.0e-3s, it can be changed usingAbstractDetector.withThreshold(double)in the fluent API. -
NodeDetector
Build a new instance.The orbit is used only to set an upper bound for the max check interval to a value related to nodes separation (as computed by a Keplerian model) and to set the convergence threshold according to orbit size.
-
NodeDetector
Build a new instance.The orbit is used only to set an upper bound for the max check interval to a value related to nodes separation (as computed by a Keplerian model).
-
NodeDetector
Constructor with detection settings and handler. -
NodeDetector
protected NodeDetector(NodeEventFunction nodeEventFunction, EventDetectionSettings detectionSettings, EventHandler 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
Build a new instance.- Specified by:
createin classAbstractDetector<NodeDetector>- 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
-