org.orekit.propagation.events
public class EclipseDetector extends AbstractReconfigurableDetector<EclipseDetector>
This class finds eclipse events, i.e. satellite within umbra (total eclipse) or penumbra (partial eclipse).
The default implementation behavior is to continue
propagation when entering the eclipse and to stop
propagation
when exiting the eclipse. 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 |
---|
EclipseDetector(double maxCheck,
double threshold,
PVCoordinatesProvider occulted,
double occultedRadius,
PVCoordinatesProvider occulting,
double occultingRadius)
Build a new eclipse detector.
|
EclipseDetector(double maxCheck,
double threshold,
PVCoordinatesProvider occulted,
double occultedRadius,
PVCoordinatesProvider occulting,
double occultingRadius,
boolean totalEclipse)
Deprecated.
as of 6.1 replaced by
EclipseDetector(double, double,
PVCoordinatesProvider, double, PVCoordinatesProvider, double) followed by
either a call to withUmbra() or by a call to withPenumbra() |
EclipseDetector(double maxCheck,
PVCoordinatesProvider occulted,
double occultedRadius,
PVCoordinatesProvider occulting,
double occultingRadius)
Build a new eclipse detector.
|
EclipseDetector(double maxCheck,
PVCoordinatesProvider occulted,
double occultedRadius,
PVCoordinatesProvider occulting,
double occultingRadius,
boolean totalEclipse)
Deprecated.
as of 6.1 replaced by
EclipseDetector(double,
PVCoordinatesProvider, double, PVCoordinatesProvider, double) followed by
either a call to withUmbra() or by a call to withPenumbra() |
EclipseDetector(PVCoordinatesProvider occulted,
double occultedRadius,
PVCoordinatesProvider occulting,
double occultingRadius)
Build a new eclipse detector.
|
EclipseDetector(PVCoordinatesProvider occulted,
double occultedRadius,
PVCoordinatesProvider occulting,
double occultingRadius,
boolean totalEclipse)
Deprecated.
as of 6.1 replaced by
EclipseDetector(PVCoordinatesProvider,
double, PVCoordinatesProvider, double) followed by either a call to
withUmbra() or by a call to withPenumbra() |
Modifier and Type | Method and Description |
---|---|
protected EclipseDetector |
create(double newMaxCheck,
double newThreshold,
int nawMaxIter,
EventHandler<EclipseDetector> newHandler)
Build a new instance.
|
double |
g(SpacecraftState s)
Compute the value of the switching function.
|
PVCoordinatesProvider |
getOcculted()
Get the occulted body.
|
double |
getOccultedRadius()
Get the occulted body radius (m).
|
PVCoordinatesProvider |
getOcculting()
Get the occulting body.
|
double |
getOccultingRadius()
Get the occulting body radius (m).
|
boolean |
getTotalEclipse()
Get the total eclipse detection flag.
|
EclipseDetector |
withPenumbra()
Setup the detector to penumbra detection.
|
EclipseDetector |
withUmbra()
Setup the detector to full umbra detection.
|
convert, convert, eventOccurred, getHandler, resetState, withHandler, withMaxCheck, withMaxIter, withThreshold
getMaxCheckInterval, getMaxIterationCount, getThreshold, init
@Deprecated public EclipseDetector(PVCoordinatesProvider occulted, double occultedRadius, PVCoordinatesProvider occulting, double occultingRadius, boolean totalEclipse)
EclipseDetector(PVCoordinatesProvider,
double, PVCoordinatesProvider, double)
followed by either a call to
withUmbra()
or by a call to withPenumbra()
The new instance is either an umbra detector or a penumbra detector
with default values for maximal checking interval (AbstractDetector.DEFAULT_MAXCHECK
)
and convergence threshold (AbstractDetector.DEFAULT_THRESHOLD
).
occulted
- the body to be occultedoccultedRadius
- the radius of the body to be occulted (m)occulting
- the occulting bodyoccultingRadius
- the occulting body radius (m)totalEclipse
- umbra (true) or penumbra (false) detection flag@Deprecated public EclipseDetector(double maxCheck, PVCoordinatesProvider occulted, double occultedRadius, PVCoordinatesProvider occulting, double occultingRadius, boolean totalEclipse)
EclipseDetector(double,
PVCoordinatesProvider, double, PVCoordinatesProvider, double)
followed by
either a call to withUmbra()
or by a call to withPenumbra()
The new instance is either an umbra detector or a penumbra detector
with default value for convergence threshold (AbstractDetector.DEFAULT_THRESHOLD
).
The maximal interval between eclipse 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)occulted
- the body to be occultedoccultedRadius
- the radius of the body to be occulted (m)occulting
- the occulting bodyoccultingRadius
- the occulting body radius (m)totalEclipse
- umbra (true) or penumbra (false) detection flag@Deprecated public EclipseDetector(double maxCheck, double threshold, PVCoordinatesProvider occulted, double occultedRadius, PVCoordinatesProvider occulting, double occultingRadius, boolean totalEclipse)
EclipseDetector(double, double,
PVCoordinatesProvider, double, PVCoordinatesProvider, double)
followed by
either a call to withUmbra()
or by a call to withPenumbra()
The new instance is either an umbra detector or a penumbra detector.
The maximal interval between eclipse 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)occulted
- the body to be occultedoccultedRadius
- the radius of the body to be occulted (m)occulting
- the occulting bodyoccultingRadius
- the occulting body radius (m)totalEclipse
- umbra (true) or penumbra (false) detection flagpublic EclipseDetector(PVCoordinatesProvider occulted, double occultedRadius, PVCoordinatesProvider occulting, double occultingRadius)
The new instance is a total eclipse (umbra) detector with default
values for maximal checking interval (AbstractDetector.DEFAULT_MAXCHECK
)
and convergence threshold (AbstractDetector.DEFAULT_THRESHOLD
).
occulted
- the body to be occultedoccultedRadius
- the radius of the body to be occulted (m)occulting
- the occulting bodyoccultingRadius
- the occulting body radius (m)public EclipseDetector(double maxCheck, PVCoordinatesProvider occulted, double occultedRadius, PVCoordinatesProvider occulting, double occultingRadius)
The new instance is a total eclipse (umbra) detector with default
value for convergence threshold (AbstractDetector.DEFAULT_THRESHOLD
).
The maximal interval between eclipse 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)occulted
- the body to be occultedoccultedRadius
- the radius of the body to be occulted in metersocculting
- the occulting bodyoccultingRadius
- the occulting body radius in meterspublic EclipseDetector(double maxCheck, double threshold, PVCoordinatesProvider occulted, double occultedRadius, PVCoordinatesProvider occulting, double occultingRadius)
The new instance is a total eclipse (umbra) detector.
The maximal interval between eclipse 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)occulted
- the body to be occultedoccultedRadius
- the radius of the body to be occulted in metersocculting
- the occulting bodyoccultingRadius
- the occulting body radius in metersprotected EclipseDetector create(double newMaxCheck, double newThreshold, int nawMaxIter, EventHandler<EclipseDetector> newHandler)
create
in class AbstractReconfigurableDetector<EclipseDetector>
newMaxCheck
- maximum checking interval (s)newThreshold
- convergence threshold (s)nawMaxIter
- maximum number of iterations in the event time searchnewHandler
- event handler to call at event occurrencespublic EclipseDetector withUmbra()
This will override a penumbra/umbra flag if it has been configured previously.
withPenumbra()
public EclipseDetector withPenumbra()
This will override a penumbra/umbra flag if it has been configured previously.
withUmbra()
public PVCoordinatesProvider getOcculting()
public double getOccultingRadius()
public PVCoordinatesProvider getOcculted()
public double getOccultedRadius()
public boolean getTotalEclipse()
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 occursCopyright © 2002–2015 CS Syst?mes d'Information. All rights reserved.