public class AltitudeDetector extends AbstractDetector<AltitudeDetector>
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 calling
AbstractDetector.withHandler(EventHandler)
after construction.
Propagator.addEventDetector(EventDetector)
DEFAULT_MAX_ITER, DEFAULT_MAXCHECK, DEFAULT_THRESHOLD
Constructor and Description |
---|
AltitudeDetector(double altitude,
BodyShape bodyShape)
Build a new altitude detector.
|
AltitudeDetector(double maxCheck,
double altitude,
BodyShape bodyShape)
Build a new altitude detector.
|
AltitudeDetector(double maxCheck,
double threshold,
double altitude,
BodyShape bodyShape)
Build a new altitude detector.
|
Modifier and Type | Method and Description |
---|---|
protected AltitudeDetector |
create(double newMaxCheck,
double newThreshold,
int newMaxIter,
EventHandler<? super AltitudeDetector> newHandler)
Build a new instance.
|
double |
g(SpacecraftState s)
Compute the value of the switching function.
|
double |
getAltitude()
Get the threshold altitude value.
|
BodyShape |
getBodyShape()
Get the body shape.
|
eventOccurred, getHandler, getMaxCheckInterval, getMaxIterationCount, getThreshold, init, isForward, resetState, withHandler, withMaxCheck, withMaxIter, withThreshold
public AltitudeDetector(double altitude, BodyShape bodyShape)
This simple constructor takes default values for maximal checking
interval (AbstractDetector.DEFAULT_MAXCHECK
) and convergence threshold
(AbstractDetector.DEFAULT_THRESHOLD
).
altitude
- threshold altitude valuebodyShape
- body shape with respect to which altitude should be evaluatedpublic AltitudeDetector(double maxCheck, double altitude, BodyShape bodyShape)
This simple constructor takes default value for convergence threshold
(AbstractDetector.DEFAULT_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.
maxCheck
- maximal checking interval (s)altitude
- threshold altitude value (m)bodyShape
- body shape with respect to which altitude should be evaluatedpublic AltitudeDetector(double maxCheck, double threshold, double altitude, BodyShape bodyShape)
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 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.
maxCheck
- maximal checking interval (s)threshold
- convergence threshold (s)altitude
- threshold altitude value (m)bodyShape
- body shape with respect to which altitude should be evaluatedprotected AltitudeDetector create(double newMaxCheck, double newThreshold, int newMaxIter, EventHandler<? super AltitudeDetector> newHandler)
create
in class AbstractDetector<AltitudeDetector>
newMaxCheck
- maximum checking interval (s)newThreshold
- convergence threshold (s)newMaxIter
- maximum number of iterations in the event time searchnewHandler
- event handler to call at event occurrencespublic double getAltitude()
public BodyShape getBodyShape()
public double g(SpacecraftState s)
g
in interface EventDetector
g
in class AbstractDetector<AltitudeDetector>
s
- the current state information: date, kinematics, attitudeCopyright © 2002-2020 CS Group. All rights reserved.