public class AltitudeDetector extends AbstractDetector
This class finds altitude events (i.e. satellite crossing a predefined altitude level above ground).
The default implementation behavior is to continue
propagation when ascending
and to stop
propagation when descending. This can be changed by using provided
constructors.
This class is restricted to be used with EllipsoidBodyShape
.
Propagator.addEventDetector(EventDetector)
,
Serialized FormEventDetector.Action
Modifier and Type | Field and Description |
---|---|
static int |
ASCENDING
Flag for ascending altitude detection (slopeSelection = 0).
|
static int |
ASCENDING_DESCENDING
Flag for both ascending and descending altitude detection (slopeSelection = 2).
|
static int |
DESCENDING
Flag for descending altitude detection (slopeSelection = 1).
|
actionAtEntry, actionAtExit, DEFAULT_MAXCHECK, DEFAULT_MAXITER, DEFAULT_THRESHOLD, removeAtEntry, removeAtExit, shouldBeRemovedFlag
DECREASING, INCREASING, INCREASING_DECREASING
Constructor and Description |
---|
AltitudeDetector(double altitudeIn,
EllipsoidBodyShape bodyShapeIn)
Build a new altitude detector.
|
AltitudeDetector(double altitudeIn,
EllipsoidBodyShape bodyShapeIn,
double maxCheck,
double threshold)
Build a new altitude detector.
|
AltitudeDetector(double altitudeIn,
EllipsoidBodyShape bodyShapeIn,
double maxCheck,
double threshold,
EventDetector.Action ascending,
EventDetector.Action descending)
Build a new altitude detector.
|
AltitudeDetector(double altitudeIn,
EllipsoidBodyShape bodyShapeIn,
double maxCheck,
double threshold,
EventDetector.Action ascending,
EventDetector.Action descending,
boolean removeAscending,
boolean removeDescending)
Build a new altitude detector.
|
AltitudeDetector(double altitudeIn,
EllipsoidBodyShape bodyShapeIn,
int slopeSelection,
double maxCheck,
double threshold,
EventDetector.Action action,
boolean remove)
Build a new altitude detector with slope selection.
|
Modifier and Type | Method and Description |
---|---|
EventDetector |
copy()
A copy of the detector.
|
EventDetector.Action |
eventOccurred(SpacecraftState s,
boolean increasing,
boolean forward)
Handle an altitude event and choose what to do next.
|
double |
g(SpacecraftState state)
Compute the value of the switching function.
|
double |
getAltitude()
Getter for the threshold altitude value.
|
BodyShape |
getBodyShape()
Getter for the body shape.
|
filterEvent, getActionAtEntry, getActionAtExit, getMaxCheckInterval, getMaxIterationCount, getSlopeSelection, getThreshold, init, isRemoveAtEntry, isRemoveAtExit, logEventsOverTimeInterval, resetState, setMaxCheckInterval, setMaxIter, shouldBeRemoved
public static final int ASCENDING
public static final int DESCENDING
public static final int ASCENDING_DESCENDING
public AltitudeDetector(double altitudeIn, EllipsoidBodyShape bodyShapeIn)
This simple constructor takes default values for maximal checking interval ( AbstractDetector.DEFAULT_MAXCHECK
) and
convergence threshold (AbstractDetector.DEFAULT_THRESHOLD
).
The default implementation behavior is to continue
propagation when
ascending and to stop
propagation when descending.
altitudeIn
- threshold altitude value (m)bodyShapeIn
- body shape with respect to which altitude should be evaluatedpublic AltitudeDetector(double altitudeIn, EllipsoidBodyShape bodyShapeIn, double maxCheck, double threshold)
The maximal interval between altitude checks should be smaller than the half duration of the minimal pass to handle, otherwise some short passes could be missed.
The default implementation behavior is to continue
propagation when
ascending and to stop
propagation when descending.
altitudeIn
- threshold altitude value (m)bodyShapeIn
- body shape with respect to which altitude should be evaluatedmaxCheck
- maximal checking interval (s)threshold
- convergence threshold (s)public AltitudeDetector(double altitudeIn, EllipsoidBodyShape bodyShapeIn, double maxCheck, double threshold, EventDetector.Action ascending, EventDetector.Action descending)
The maximal interval between altitude checks should be smaller than the half duration of the minimal pass to handle, otherwise some short passes could be missed.
altitudeIn
- threshold altitude value (m)bodyShapeIn
- body shape with respect to which altitude should be evaluatedmaxCheck
- maximal checking interval (s)threshold
- convergence threshold (s)ascending
- action performed when ascendingdescending
- action performed when descendingpublic AltitudeDetector(double altitudeIn, EllipsoidBodyShape bodyShapeIn, double maxCheck, double threshold, EventDetector.Action ascending, EventDetector.Action descending, boolean removeAscending, boolean removeDescending)
The maximal interval between altitude checks should be smaller than the half duration of the minimal pass to handle, otherwise some short passes could be missed.
altitudeIn
- threshold altitude value (m)bodyShapeIn
- body shape with respect to which altitude should be evaluatedmaxCheck
- maximal checking interval (s)threshold
- convergence threshold (s)ascending
- action performed when ascendingdescending
- action performed when descendingremoveAscending
- true if detector should be removed at ascending altitude detectionremoveDescending
- true if detector should be removed at descending altitude detectionpublic AltitudeDetector(double altitudeIn, EllipsoidBodyShape bodyShapeIn, int slopeSelection, double maxCheck, double threshold, EventDetector.Action action, boolean remove)
The maximal interval between altitude checks should be smaller than the half duration of the minimal pass to handle, otherwise some short passes could be missed.
altitudeIn
- threshold altitude value (m)bodyShapeIn
- body shape with respect to which altitude should be evaluatedslopeSelection
- slope selectionmaxCheck
- maximal checking interval (s)threshold
- convergence threshold (s)action
- action performedremove
- true if detector should be removed at altitude detectionpublic double getAltitude()
public BodyShape getBodyShape()
public EventDetector.Action eventOccurred(SpacecraftState s, boolean increasing, boolean forward) throws PatriusException
eventOccurred
in interface EventDetector
eventOccurred
in class AbstractDetector
s
- 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 integrationPatriusException
- if some specific error occurspublic double g(SpacecraftState state) throws PatriusException
g
in interface EventDetector
g
in class AbstractDetector
state
- statePatriusException
- if some specific error occurspublic EventDetector copy()
The following attributes are not deeply copied:
BodyShape
Copyright © 2023 CNES. All rights reserved.