org.orekit.propagation.events
ElevationDetector
@Deprecated public class GroundMaskElevationDetector extends AbstractReconfigurableDetector<GroundMaskElevationDetector>
This class finds elevation events (i.e. satellite raising and setting) with respect to an azimuth-elevation mask.
An azimuth-elevation mask defines the physical horizon for a local point, origin of some topocentric frame.
Azimuth is defined according to getAzimuth
.
Elevation is defined according to getElevation
.
The azimuth elevation mask must be supplied as a twodimensional array with multiples lines of pairs of azimuth-elevation angles. First row will be filled with azimuth values, second row with elevation values, as in the following snippet:
double [][] mask = { {FastMathFastMath.toRadians(0), FastMath.toRadians(10)}, {FastMathFastMath.toRadians(45), FastMath.toRadians(8)}, {FastMathFastMath.toRadians(90), FastMath.toRadians(6)}, {FastMathFastMath.toRadians(135), FastMath.toRadians(4)}, {FastMathFastMath.toRadians(180), FastMath.toRadians(5)}, {FastMathFastMath.toRadians(225), FastMath.toRadians(6)}, {FastMathFastMath.toRadians(270), FastMath.toRadians(8)}, {FastMathFastMath.toRadians(315), FastMath.toRadians(9)} };
No assumption is made on azimuth values and ordering. The only restraint is that only one elevation value can be associated to identical azimuths modulo 2PI.
The default implementation behavior is to continue
propagation at raising and to stop
propagation
at setting. This can be changed by calling AbstractReconfigurableDetector.withHandler(EventHandler)
after construction.
Propagator.addEventDetector(EventDetector)
,
Serialized FormEventDetector.Action
DEFAULT_MAX_ITER, DEFAULT_MAXCHECK, DEFAULT_THRESHOLD
Constructor and Description |
---|
GroundMaskElevationDetector(double[][] azimelev,
TopocentricFrame topo)
Deprecated.
Build a new azimuth-elevation detector.
|
GroundMaskElevationDetector(double maxCheck,
double[][] azimelev,
TopocentricFrame topo)
Deprecated.
Build a new azimuth-elevation detector.
|
GroundMaskElevationDetector(double maxCheck,
double threshold,
double[][] azimelev,
TopocentricFrame topo)
Deprecated.
Build a new azimuth-elevation detector.
|
Modifier and Type | Method and Description |
---|---|
protected GroundMaskElevationDetector |
create(double newMaxCheck,
double newThreshold,
int newMaxIter,
EventHandler<GroundMaskElevationDetector> newHandler)
Deprecated.
Build a new instance.
|
double |
g(SpacecraftState s)
Deprecated.
Compute the value of the switching function.
|
double |
getElevation(double azimuth)
Deprecated.
Get the interpolated elevation for a given azimuth according to the mask.
|
TopocentricFrame |
getTopocentricFrame()
Deprecated.
Get the topocentric frame.
|
convert, convert, eventOccurred, getHandler, resetState, withHandler, withMaxCheck, withMaxIter, withThreshold
getMaxCheckInterval, getMaxIterationCount, getThreshold, init
public GroundMaskElevationDetector(double[][] azimelev, TopocentricFrame topo)
This simple constructor takes default values for maximal checking
interval (AbstractDetector.DEFAULT_MAXCHECK
) and convergence threshold
(AbstractDetector.DEFAULT_THRESHOLD
).
azimelev
- azimuth-elevation mask (rad)topo
- topocentric frame in which elevation should be evaluatedIllegalArgumentException
- if azimuth-elevation mask is not supportedpublic GroundMaskElevationDetector(double maxCheck, double[][] azimelev, TopocentricFrame topo)
This constructor takes default value for convergence threshold
(AbstractDetector.DEFAULT_THRESHOLD
).
The maximal interval between elevation 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)azimelev
- azimuth-elevation mask (rad)topo
- topocentric frame in which elevation should be evaluatedIllegalArgumentException
- if azimuth-elevation mask is not supportedpublic GroundMaskElevationDetector(double maxCheck, double threshold, double[][] azimelev, TopocentricFrame topo)
The maximal interval between elevation 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)azimelev
- azimuth-elevation mask (rad)topo
- topocentric frame in which elevation should be evaluatedIllegalArgumentException
- if azimuth-elevation mask is not supportedprotected GroundMaskElevationDetector create(double newMaxCheck, double newThreshold, int newMaxIter, EventHandler<GroundMaskElevationDetector> newHandler)
create
in class AbstractReconfigurableDetector<GroundMaskElevationDetector>
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 g(SpacecraftState s) throws OrekitException
g
in interface EventDetector
g
in class AbstractDetector
s
- the current state information: date, kinematics, attitudeOrekitException
- if some specific error occurspublic double getElevation(double azimuth)
azimuth
- azimuth (rad)Copyright © 2002–2015 CS Syst?mes d'Information. All rights reserved.