public class GroundAtNightDetector extends AbstractDetector<GroundAtNightDetector>
This detector is mainly useful for scheduling optical measurements (either passive telescope observation of satellites against the stars background or active satellite laser ranging).
The g
function of this detector is positive when ground is at night
(i.e. Sun is below dawn/dusk elevation angle).
Modifier and Type | Field and Description |
---|---|
static double |
ASTRONOMICAL_DAWN_DUSK_ELEVATION
Sun elevation at astronomical dawn/dusk (18° below horizon).
|
static double |
CIVIL_DAWN_DUSK_ELEVATION
Sun elevation at civil dawn/dusk (6° below horizon).
|
static double |
NAUTICAL_DAWN_DUSK_ELEVATION
Sun elevation at nautical dawn/dusk (12° below horizon).
|
DEFAULT_MAX_ITER, DEFAULT_MAXCHECK, DEFAULT_THRESHOLD
Constructor and Description |
---|
GroundAtNightDetector(TopocentricFrame groundLocation,
PVCoordinatesProvider sun,
double dawnDuskElevation,
AtmosphericRefractionModel refractionModel)
Simple constructor.
|
Modifier and Type | Method and Description |
---|---|
protected GroundAtNightDetector |
create(double newMaxCheck,
double newThreshold,
int newMaxIter,
EventHandler<? super GroundAtNightDetector> newHandler)
Build a new instance.
|
double |
g(SpacecraftState state)
Compute the value of the switching function.
|
eventOccurred, getHandler, getMaxCheckInterval, getMaxIterationCount, getThreshold, init, isForward, resetState, withHandler, withMaxCheck, withMaxIter, withThreshold
public static final double CIVIL_DAWN_DUSK_ELEVATION
public static final double NAUTICAL_DAWN_DUSK_ELEVATION
public static final double ASTRONOMICAL_DAWN_DUSK_ELEVATION
public GroundAtNightDetector(TopocentricFrame groundLocation, PVCoordinatesProvider sun, double dawnDuskElevation, AtmosphericRefractionModel refractionModel)
Beware that Earth
standard refraction model
does apply only for elevations above -2°. It is therefore
not suitable for used with CIVIL_DAWN_DUSK_ELEVATION
(-6°), NAUTICAL_DAWN_DUSK_ELEVATION
(-12°) or ASTRONOMICAL_DAWN_DUSK_ELEVATION
(-18°).
The ITU 453 refraction model
which can compute refraction at large negative elevations should be preferred.
groundLocation
- ground location to checksun
- provider for Sun positiondawnDuskElevation
- Sun elevation below which we consider night is dark enough (rad)
(typically ASTRONOMICAL_DAWN_DUSK_ELEVATION
)refractionModel
- reference to refraction model (null if refraction should be ignored)protected GroundAtNightDetector create(double newMaxCheck, double newThreshold, int newMaxIter, EventHandler<? super GroundAtNightDetector> newHandler)
create
in class AbstractDetector<GroundAtNightDetector>
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 double g(SpacecraftState state)
The g
function of this detector is positive when ground is at night
(i.e. Sun is below dawn/dusk elevation angle).
This function only depends on date, not on the actual position of the spacecraft.
g
in interface EventDetector
g
in class AbstractDetector<GroundAtNightDetector>
state
- the current state information: date, kinematics, attitudeCopyright © 2002-2020 CS Group. All rights reserved.