public class SurfaceDistanceDetector extends DistanceDetector
The default implementation behaviour is to stop
propagation when the distance is
reached. This can be changed by using provided constructors.
DistanceDetector}
,
Serialized FormModifier and Type | Class and Description |
---|---|
static class |
SurfaceDistanceDetector.BodyDistanceType
Body distance type.
|
EventDetector.Action
body, DECREASING, distance, INCREASING, INCREASING_DECREASING
actionAtEntry, actionAtExit, DEFAULT_MAXCHECK, DEFAULT_MAXITER, DEFAULT_THRESHOLD, removeAtEntry, removeAtExit, shouldBeRemovedFlag
Constructor and Description |
---|
SurfaceDistanceDetector(CelestialBody bodyIn,
double surfaceDistanceIn,
SurfaceDistanceDetector.BodyDistanceType bodyDistanceTypeIn)
Constructor for a DistanceDetector instance.
|
SurfaceDistanceDetector(CelestialBody bodyIn,
double surfaceDistanceIn,
SurfaceDistanceDetector.BodyDistanceType bodyDistanceTypeIn,
double maxCheck,
double threshold)
Constructor for a DistanceDetector instance with additional maxCheck and threshold parameters
|
SurfaceDistanceDetector(CelestialBody bodyIn,
double surfaceDistanceIn,
SurfaceDistanceDetector.BodyDistanceType bodyDistanceTypeIn,
double maxCheck,
double threshold,
EventDetector.Action actionIncreasing,
EventDetector.Action actionDecreasing)
Constructor for a DistanceDetector instance with complementary parameters.
|
SurfaceDistanceDetector(CelestialBody bodyIn,
double surfaceDistanceIn,
SurfaceDistanceDetector.BodyDistanceType bodyDistanceTypeIn,
double maxCheck,
double threshold,
EventDetector.Action actionIncreasing,
EventDetector.Action actionDecreasing,
boolean removeIncreasing,
boolean removeDecreasing)
Constructor for a DistanceDetector instance with complementary parameters.
|
SurfaceDistanceDetector(CelestialBody bodyIn,
double surfaceDistanceIn,
SurfaceDistanceDetector.BodyDistanceType bodyDistanceTypeIn,
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.
|
double |
g(SpacecraftState state)
Compute the value of the switching function.
|
CelestialBody |
getBody()
Getter for the body.
|
SurfaceDistanceDetector.BodyDistanceType |
getBodyDistanceType()
Getter for the chosen body distance type for the detector.
|
Frame |
getBodyFixedFrame()
Getter for the body fixed frame.
|
BodyShape |
getBodyShape()
Getter for the body shape.
|
eventOccurred, getDistance
filterEvent, getActionAtEntry, getActionAtExit, getMaxCheckInterval, getMaxIterationCount, getSlopeSelection, getThreshold, init, isRemoveAtEntry, isRemoveAtExit, logEventsOverTimeInterval, resetState, setMaxCheckInterval, setMaxIter, shouldBeRemoved
public SurfaceDistanceDetector(CelestialBody bodyIn, double surfaceDistanceIn, SurfaceDistanceDetector.BodyDistanceType bodyDistanceTypeIn)
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 stop
propagation when the distance is
reached.
The surfaceDistanceIn parameter must be positive.
bodyIn
- The body whose distance is watchedsurfaceDistanceIn
- Distance triggering the event (m)bodyDistanceTypeIn
- Body distance typeIllegalArgumentException
- if the distance is negativepublic SurfaceDistanceDetector(CelestialBody bodyIn, double surfaceDistanceIn, SurfaceDistanceDetector.BodyDistanceType bodyDistanceTypeIn, double maxCheck, double threshold)
The default implementation behavior is to stop
propagation when the distance is
reached.
bodyIn
- The body whose distance is watchedsurfaceDistanceIn
- Distance triggering the event (m)bodyDistanceTypeIn
- Body distance typemaxCheck
- Maximal checking interval (s)threshold
- Convergence threshold (s)IllegalArgumentException
- if the distance is negativepublic SurfaceDistanceDetector(CelestialBody bodyIn, double surfaceDistanceIn, SurfaceDistanceDetector.BodyDistanceType bodyDistanceTypeIn, double maxCheck, double threshold, EventDetector.Action actionIncreasing, EventDetector.Action actionDecreasing)
bodyIn
- The body whose distance is watchedsurfaceDistanceIn
- Distance triggering the event (m)bodyDistanceTypeIn
- Body distance typemaxCheck
- Maximal checking interval (s)threshold
- Convergence threshold (s)actionIncreasing
- Action performed at distance detection when distance is increasingactionDecreasing
- Action performed at distance detection when distance is decreasingIllegalArgumentException
- if the distance is negativepublic SurfaceDistanceDetector(CelestialBody bodyIn, double surfaceDistanceIn, SurfaceDistanceDetector.BodyDistanceType bodyDistanceTypeIn, double maxCheck, double threshold, EventDetector.Action actionIncreasing, EventDetector.Action actionDecreasing, boolean removeIncreasing, boolean removeDecreasing)
bodyIn
- The body whose distance is watchedsurfaceDistanceIn
- Distance triggering the event (m)bodyDistanceTypeIn
- Body distance typemaxCheck
- Maximal checking interval (s)threshold
- Convergence threshold (s)actionIncreasing
- Action performed at distance detection when distance is increasingactionDecreasing
- Action performed at distance detection when distance is decreasingremoveIncreasing
- True if detector should be removed at increasing distance detectionremoveDecreasing
- True if detector should be removed at decreasing distance detectionIllegalArgumentException
- if the distance is negativepublic SurfaceDistanceDetector(CelestialBody bodyIn, double surfaceDistanceIn, SurfaceDistanceDetector.BodyDistanceType bodyDistanceTypeIn, 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.
bodyIn
- The body whose distance is watchedsurfaceDistanceIn
- Distance triggering the event (m)bodyDistanceTypeIn
- Body distance typeslopeSelection
- The g-function slope selection (0,1 or 2)maxCheck
- Maximal checking interval (s)threshold
- Convergence threshold (s)action
- Action performed at distance detectionremove
- True if detector should be removed at distance detectionpublic double g(SpacecraftState state) throws PatriusException
g
in interface EventDetector
g
in class DistanceDetector
state
- the current state information: date, kinematics, attitude for forces and events
computation, mass provider, and additional statesPatriusException
- if some specific error occurs(fr.cnes.sirius.patrius.propagation.SpacecraftState)
public CelestialBody getBody()
getBody
in class DistanceDetector
public SurfaceDistanceDetector.BodyDistanceType getBodyDistanceType()
public BodyShape getBodyShape()
public Frame getBodyFixedFrame()
public EventDetector copy()
The following attributes are not deeply copied:
PVCoordinatesProvider
The following attributes are not deeply copied:
CelestialBody
copy
in interface EventDetector
copy
in class DistanceDetector
Copyright © 2023 CNES. All rights reserved.