org.orekit.propagation.events
ElevationDetector
@Deprecated public class ApparentElevationDetector extends AbstractReconfigurableDetector<ApparentElevationDetector>
This class finds apparent elevation events (i.e. apparent satellite raising and setting from a terrestrial viewpoint).
Apparent elevation is the sum of geometrical elevation and refraction angle, the latter is 0 at zenith, about 1 arcminute at 45°, and 34 arcminutes at the horizon for optical wavelengths.
This event only makes sense for positive apparent elevation in the Earth environment
and it is not suited for near zenithal detection, where the simple
ElevationDetector
fits better.
Refraction angle is computed according to Saemundssen formula quoted by Meeus. For reference, see Astronomical Algorithms (1998), 2nd ed, (ISBN 0-943396-61-1), chap. 15.
This formula is about 30 arcseconds of accuracy very close to the horizon, as variable atmospheric effects become very important.
Local pressure and temperature can be set to correct refraction at the viewpoint.
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
Modifier and Type | Field and Description |
---|---|
static double |
DEFAULT_PRESSURE
Deprecated.
Default local pressure at viewpoint (Pa).
|
static double |
DEFAULT_TEMPERATURE
Deprecated.
Default local temperature at viewpoint (K).
|
DEFAULT_MAX_ITER, DEFAULT_MAXCHECK, DEFAULT_THRESHOLD
Constructor and Description |
---|
ApparentElevationDetector(double maxCheck,
double threshold,
double elevation,
TopocentricFrame topo)
Deprecated.
Build a new apparent elevation detector.
|
ApparentElevationDetector(double maxCheck,
double elevation,
TopocentricFrame topo)
Deprecated.
Build a new apparent elevation detector.
|
ApparentElevationDetector(double elevation,
TopocentricFrame topo)
Deprecated.
Build a new apparent elevation detector.
|
Modifier and Type | Method and Description |
---|---|
protected ApparentElevationDetector |
create(double newMaxCheck,
double newThreshold,
int newMaxIter,
EventHandler<ApparentElevationDetector> newHandler)
Deprecated.
Build a new instance.
|
double |
g(SpacecraftState s)
Deprecated.
Compute the value of the switching function.
|
double |
getElevation()
Deprecated.
Get the threshold apparent elevation value.
|
double |
getPressure()
Deprecated.
Get the local pressure at topocentric frame origin.
|
double |
getTemperature()
Deprecated.
Get the local temperature at topocentric frame origin.
|
TopocentricFrame |
getTopocentricFrame()
Deprecated.
Get the topocentric frame.
|
void |
setPressure(double pressure)
Deprecated.
Set the local pressure at topocentric frame origin if needed.
|
void |
setTemperature(double temperature)
Deprecated.
Set the local temperature at topocentric frame origin if needed.
|
convert, convert, eventOccurred, getHandler, resetState, withHandler, withMaxCheck, withMaxIter, withThreshold
getMaxCheckInterval, getMaxIterationCount, getThreshold, init
public static final double DEFAULT_PRESSURE
public static final double DEFAULT_TEMPERATURE
public ApparentElevationDetector(double elevation, TopocentricFrame topo)
This simple constructor takes default values for maximal checking
interval (AbstractDetector.DEFAULT_MAXCHECK
) and convergence threshold
(AbstractDetector.DEFAULT_THRESHOLD
).
elevation
- threshold elevation valuetopo
- topocentric frame in which elevation should be evaluatedpublic ApparentElevationDetector(double maxCheck, double elevation, 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)elevation
- threshold elevation value (rad)topo
- topocentric frame in which elevation should be evaluatedpublic ApparentElevationDetector(double maxCheck, double threshold, double elevation, 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)elevation
- threshold elevation value (rad)topo
- topocentric frame in which elevation should be evaluatedprotected ApparentElevationDetector create(double newMaxCheck, double newThreshold, int newMaxIter, EventHandler<ApparentElevationDetector> newHandler)
create
in class AbstractReconfigurableDetector<ApparentElevationDetector>
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 void setPressure(double pressure)
Otherwise the default value for the local pressure is set to DEFAULT_PRESSURE
.
pressure
- the pressure to set (Pa)public void setTemperature(double temperature)
Otherwise the default value for the local temperature is set to DEFAULT_TEMPERATURE
.
temperature
- the temperature to set (K)public double getElevation()
public TopocentricFrame getTopocentricFrame()
public double getPressure()
public double getTemperature()
public double g(SpacecraftState s) throws OrekitException
This function measures the difference between the current apparent elevation and the threshold apparent elevation.
g
in interface EventDetector
g
in class AbstractDetector
s
- the current state information: date, kinematics, attitudeOrekitException
- if some specific error occursCopyright © 2002–2015 CS Syst?mes d'Information. All rights reserved.