public class NodeDetector extends PlaneCrossingDetector
This class finds equator crossing events (i.e. ascending and/or descending node crossing).
The default implementation behavior is to stop propagation at node crossing. This
can be changed by overriding one of the following constructors :
NodeDetector : the defined action is performed at ascending OR/AND descending node depending on slope selection
defined.
NodeDetector : the defined actions are performed at ascending AND descending node.
Beware that node detection will fail for almost equatorial orbits.
Propagator.addEventDetector(EventDetector),
Serialized FormEventDetector.Action| Modifier and Type | Field and Description |
|---|---|
static int |
ASCENDING
Flag for ascending node crossing (slopeSelection = 0).
|
static int |
ASCENDING_DESCENDING
Flag for both ascending and descending node detection (slopeSelection = 2).
|
static int |
DESCENDING
Flag for descending node crossing (slopeSelection = 1).
|
referenceFrameactionAtEntry, actionAtExit, DEFAULT_MAXCHECK, DEFAULT_MAXITER, removeAtEntry, removeAtExit, shouldBeRemovedFlagDECREASING, INCREASING, INCREASING_DECREASING| Constructor and Description |
|---|
NodeDetector(Frame frameIn,
double maxCheck,
double threshold,
EventDetector.Action ascendingNode,
EventDetector.Action descendingNode)
Build a new instance for both ascending and descending node detection.
|
NodeDetector(Frame frameIn,
double maxCheckIn,
double threshold,
EventDetector.Action ascendingNode,
EventDetector.Action descendingNode,
boolean removeAscendingNode,
boolean removeDescendingNode)
Build a new instance for both ascending and descending node detection.
|
NodeDetector(Frame frameIn,
int slopeSelection,
double maxCheck,
double threshold)
Build a new instance.
|
NodeDetector(Frame frameIn,
int slopeSelection,
double maxCheck,
double threshold,
EventDetector.Action action)
Build a new instance.
|
NodeDetector(Frame frameIn,
int slopeSelection,
double maxCheck,
double threshold,
EventDetector.Action action,
boolean removeCrossingNode)
Build a new instance.
|
NodeDetector(Orbit orbit,
Frame frameIn,
int slopeSelection)
Build a new instance.
|
NodeDetector(Orbit orbit,
Frame frameIn,
int slopeSelection,
double threshold)
Build a new instance.
|
| Modifier and Type | Method and Description |
|---|---|
EventDetector |
copy()
A copy of the detector.
|
EventDetector.Action |
eventOccurred(SpacecraftState s,
boolean increasing,
boolean forward)
Handle a node crossing event and choose what to do next.
|
g, getFrame, getNormalVector, getPointfilterEvent, getActionAtEntry, getActionAtExit, getMaxCheckInterval, getMaxIterationCount, getSlopeSelection, getThreshold, init, isRemoveAtEntry, isRemoveAtExit, logEventsOverTimeInterval, resetState, setMaxCheckInterval, setMaxIter, shouldBeRemovedpublic static final int ASCENDING
public static final int DESCENDING
public static final int ASCENDING_DESCENDING
public NodeDetector(Orbit orbit, Frame frameIn, int slopeSelection)
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.
The default implementation behavior is to stop propagation at node crossing.
orbit - initial orbitframeIn - frame in which the equator is defined (typical values are
J2000 or
ITRF 2005)slopeSelection - ASCENDING for ascending node detection,DESCENDING for descending node detection,ASCENDING_DESCENDING for both ascending and descending node
detection.public NodeDetector(Orbit orbit, Frame frameIn, int slopeSelection, double threshold)
The orbit is used only to set an upper bound for the max check interval to period/3.
The default implementation behavior is to stop propagation at node crossing.
orbit - initial orbitframeIn - frame in which the equator is defined (typical values are
J2000 or
ITRF 2005)slopeSelection - ASCENDING for ascending node detection,DESCENDING for descending node detection,ASCENDING_DESCENDING for both ascending and descending node
detection.threshold - convergence threshold (s)public NodeDetector(Frame frameIn, int slopeSelection, double maxCheck, double threshold)
The default implementation behavior is to stop propagation at node crossing.
frameIn - frame in which the equator is defined (typical values are
J2000 or
ITRF 2005)slopeSelection - ASCENDING for ascending node detection,DESCENDING for descending node detection,ASCENDING_DESCENDING for both ascending and descending node
detection.maxCheck - maximal checking interval (s)threshold - convergence threshold (s)public NodeDetector(Frame frameIn, double maxCheck, double threshold, EventDetector.Action ascendingNode, EventDetector.Action descendingNode)
frameIn - frame in which the equator is defined (typical values are
J2000 or
ITRF 2005)maxCheck - maximal checking interval (s)threshold - convergence threshold (s)ascendingNode - action performed at ascending node crossingdescendingNode - action performed at descending node crossingpublic NodeDetector(Frame frameIn, double maxCheckIn, double threshold, EventDetector.Action ascendingNode, EventDetector.Action descendingNode, boolean removeAscendingNode, boolean removeDescendingNode)
frameIn - frame in which the equator is defined (typical values are
J2000 or
ITRF 2005)maxCheckIn - maximal checking interval (s)threshold - convergence threshold (s)ascendingNode - action performed at ascending node crossingdescendingNode - action performed at descending node crossingremoveAscendingNode - true if detector should be removed at ascending node crossingremoveDescendingNode - true if detector should be removed at descending node crossingpublic NodeDetector(Frame frameIn, int slopeSelection, double maxCheck, double threshold, EventDetector.Action action)
frameIn - frame in which the equator is defined (typical values are
J2000 or
ITRF 2005)slopeSelection - ASCENDING for ascending node detection,DESCENDING for descending node detection,ASCENDING_DESCENDING for both ascending and descending node
detection.maxCheck - maximal checking interval (s)threshold - convergence threshold (s)action - action to be performed at node crossingpublic NodeDetector(Frame frameIn, int slopeSelection, double maxCheck, double threshold, EventDetector.Action action, boolean removeCrossingNode)
frameIn - frame in which the equator is defined (typical values are
J2000 or
ITRF 2005)slopeSelection - ASCENDING for ascending node detection,DESCENDING for descending node detection,ASCENDING_DESCENDING for both ascending and descending node
detection.maxCheck - maximal checking interval (s)threshold - convergence threshold (s)action - action to be performed at node crossingremoveCrossingNode - true if detector should be removed at node crossingpublic EventDetector.Action eventOccurred(SpacecraftState s, boolean increasing, boolean forward) throws PatriusException
The default implementation behavior is to stop propagation at node crossing.
eventOccurred in interface EventDetectoreventOccurred in class PlaneCrossingDetectors - the current state information : date, kinematics, attitudeincreasing - if true, the value of the switching function increases when times increases
around eventforward - if true, the integration variable (time) increases during integration.PatriusException - if some specific error occurspublic EventDetector copy()
The following attributes are not deeply copied:
Framecopy in interface EventDetectorcopy in class PlaneCrossingDetectorCopyright © 2025 CNES. All rights reserved.