Class ElevationExtremumDetector
- java.lang.Object
-
- org.orekit.propagation.events.AbstractDetector<ElevationExtremumDetector>
-
- org.orekit.propagation.events.ElevationExtremumDetector
-
- All Implemented Interfaces:
EventDetector
public class ElevationExtremumDetector extends AbstractDetector<ElevationExtremumDetector>
Detector for elevation extremum with respect to a ground point.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 withFilterType.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- Since:
- 7.1
- Author:
- Luc Maisonobe
-
-
Field Summary
-
Fields inherited from class org.orekit.propagation.events.AbstractDetector
DEFAULT_MAX_ITER, DEFAULT_MAXCHECK, DEFAULT_THRESHOLD
-
-
Constructor Summary
Constructors Modifier Constructor Description ElevationExtremumDetector(double maxCheck, double threshold, TopocentricFrame topo)
Build a detector.ElevationExtremumDetector(TopocentricFrame topo)
Build a new detector.protected
ElevationExtremumDetector(AdaptableInterval maxCheck, double threshold, int maxIter, EventHandler handler, TopocentricFrame topo)
Protected constructor with full parameters.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ElevationExtremumDetector
create(AdaptableInterval newMaxCheck, double newThreshold, int newMaxIter, EventHandler 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.-
Methods inherited from class org.orekit.propagation.events.AbstractDetector
getHandler, getMaxCheckInterval, getMaxIterationCount, getThreshold, init, isForward, withHandler, withMaxCheck, withMaxCheck, withMaxIter, withThreshold
-
-
-
-
Constructor Detail
-
ElevationExtremumDetector
public ElevationExtremumDetector(TopocentricFrame topo)
Build a new detector.The new instance uses default values for maximal checking interval (
AbstractDetector.DEFAULT_MAXCHECK
) and convergence threshold (AbstractDetector.DEFAULT_THRESHOLD
).- Parameters:
topo
- topocentric frame centered on ground point
-
ElevationExtremumDetector
public ElevationExtremumDetector(double maxCheck, double threshold, TopocentricFrame topo)
Build a detector.- Parameters:
maxCheck
- maximal checking interval (s)threshold
- convergence threshold (s)topo
- topocentric frame centered on ground point
-
ElevationExtremumDetector
protected ElevationExtremumDetector(AdaptableInterval maxCheck, double threshold, int maxIter, EventHandler handler, TopocentricFrame topo)
Protected constructor with full parameters.This constructor is not public as users are expected to use the builder API with the various
withXxx()
methods to set up the instance in a readable manner without using a huge amount of parameters.- Parameters:
maxCheck
- maximum checking intervalthreshold
- convergence threshold (s)maxIter
- maximum number of iterations in the event time searchhandler
- event handler to call at event occurrencestopo
- topocentric frame centered on ground point
-
-
Method Detail
-
create
protected ElevationExtremumDetector create(AdaptableInterval newMaxCheck, double newThreshold, int newMaxIter, EventHandler newHandler)
Build a new instance.- Specified by:
create
in classAbstractDetector<ElevationExtremumDetector>
- Parameters:
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 occurrences- Returns:
- a new instance of the appropriate sub-type
-
getTopocentricFrame
public TopocentricFrame getTopocentricFrame()
Returns the topocentric frame centered on ground point.- Returns:
- topocentric frame centered on ground point
-
getElevation
public double getElevation(SpacecraftState s)
Get the elevation value.- Parameters:
s
- the current state information: date, kinematics, attitude- Returns:
- spacecraft elevation
-
g
public double g(SpacecraftState s)
Compute the value of the detection function.The value is the spacecraft elevation first time derivative.
- Specified by:
g
in interfaceEventDetector
- Specified by:
g
in classAbstractDetector<ElevationExtremumDetector>
- Parameters:
s
- the current state information: date, kinematics, attitude- Returns:
- spacecraft elevation first time derivative
-
-