public class ElevationExtremumDetector extends AbstractDetector<ElevationExtremumDetector>
This detector identifies when a spacecraft reaches its extremum elevation with respect to a ground point.
As in most cases only the elevation maximum is needed and the
minimum is often irrelevant, this detector is often wrapped into
an event slope filter
configured with
FilterType.TRIGGER_ONLY_DECREASING_EVENTS
(i.e. when the
elevation derivative decreases from positive values to negative values,
which correspond to a maximum). Setting up this filter saves some computation
time as the elevation minimum occurrences are not even looked at. It is
however still often necessary to do an additional filtering
DEFAULT_MAX_ITER, DEFAULT_MAXCHECK, DEFAULT_THRESHOLD
Constructor and Description |
---|
ElevationExtremumDetector(double maxCheck,
double threshold,
TopocentricFrame topo)
Build a detector.
|
ElevationExtremumDetector(TopocentricFrame topo)
Build a new detector.
|
Modifier and Type | Method and Description |
---|---|
protected ElevationExtremumDetector |
create(double newMaxCheck,
double newThreshold,
int newMaxIter,
EventHandler<? super ElevationExtremumDetector> newHandler)
Build a new instance.
|
double |
g(SpacecraftState s)
Compute the value of the detection function.
|
double |
getElevation(SpacecraftState s)
Get the elevation value.
|
TopocentricFrame |
getTopocentricFrame()
Returns the topocentric frame centered on ground point.
|
eventOccurred, getHandler, getMaxCheckInterval, getMaxIterationCount, getThreshold, init, isForward, resetState, withHandler, withMaxCheck, withMaxIter, withThreshold
public ElevationExtremumDetector(TopocentricFrame topo)
The new instance uses default values for maximal checking interval
(AbstractDetector.DEFAULT_MAXCHECK
) and convergence threshold (AbstractDetector.DEFAULT_THRESHOLD
).
topo
- topocentric frame centered on ground pointpublic ElevationExtremumDetector(double maxCheck, double threshold, TopocentricFrame topo)
maxCheck
- maximal checking interval (s)threshold
- convergence threshold (s)topo
- topocentric frame centered on ground pointprotected ElevationExtremumDetector create(double newMaxCheck, double newThreshold, int newMaxIter, EventHandler<? super ElevationExtremumDetector> newHandler)
create
in class AbstractDetector<ElevationExtremumDetector>
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 TopocentricFrame getTopocentricFrame()
public double getElevation(SpacecraftState s)
s
- the current state information: date, kinematics, attitudepublic double g(SpacecraftState s)
The value is the spacecraft elevation first time derivative.
g
in interface EventDetector
g
in class AbstractDetector<ElevationExtremumDetector>
s
- the current state information: date, kinematics, attitudeCopyright © 2002-2020 CS Group. All rights reserved.