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 filter
configured with
FilterType.TRIGGER_ONLY_DECREASING_EVENTS
(i.e. when the
elevation derivative decreases from positive vaules 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, 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) throws OrekitException
s
- the current state information: date, kinematics, attitudeOrekitException
- if some specific error occurspublic double g(SpacecraftState s) throws OrekitException
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, attitudeOrekitException
- if some specific error occursCopyright © 2002-2016 CS Systèmes d'information. All rights reserved.