|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.orekit.propagation.events.AbstractDetector org.orekit.propagation.events.EclipseDetector
public class EclipseDetector
Finder for satellite eclipse related events.
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 using the following constructors:
Propagator.addEventDetector(EventDetector)
,
Serialized FormNested Class Summary |
---|
Nested classes/interfaces inherited from interface org.orekit.propagation.events.EventDetector |
---|
EventDetector.Action |
Field Summary |
---|
Fields inherited from class org.orekit.propagation.events.AbstractDetector |
---|
DEFAULT_MAXCHECK, DEFAULT_THRESHOLD |
Fields inherited from interface org.orekit.propagation.events.EventDetector |
---|
DECREASING, INCREASING, INCREASING_DECREASING |
Constructor Summary | |
---|---|
EclipseDetector(IDirection occulted,
PVCoordinatesProvider occulting,
double occultingRadius,
double maxCheck,
double threshold)
Build a new eclipse detector. |
|
EclipseDetector(IDirection occulted,
PVCoordinatesProvider occulting,
double occultingRadius,
double maxCheck,
double threshold,
EventDetector.Action entry,
EventDetector.Action exit)
Build a new eclipse detector with defined actions when entering and exiting the eclipse. |
|
EclipseDetector(IDirection occulted,
PVCoordinatesProvider occulting,
double occultingRadius,
double maxCheck,
double threshold,
EventDetector.Action entry,
EventDetector.Action exit,
boolean removeEntry,
boolean removeExit)
Build a new eclipse detector with defined actions when entering and exiting the eclipse. |
|
EclipseDetector(PVCoordinatesProvider occultedBody,
double occultedBodyRadius,
GeometricBodyShape occultingBody,
boolean totalEclipseFlag)
Deprecated. |
|
EclipseDetector(PVCoordinatesProvider occultedBody,
double occultedBodyRadius,
GeometricBodyShape occultingBody,
boolean totalEclipseFlag,
double maxCheck,
double threshold)
Deprecated. |
|
EclipseDetector(PVCoordinatesProvider occulted,
double occultedRadius,
GeometricBodyShape occultingBody,
double lightingRatio,
double maxCheck,
double threshold)
Build a new eclipse detector based on a lighting ratio. |
|
EclipseDetector(PVCoordinatesProvider occulted,
double occultedRadius,
GeometricBodyShape occultingBody,
double lightingRatio,
double maxCheck,
double threshold,
EventDetector.Action entry,
EventDetector.Action exit)
Build a new eclipse detector based on a lighting ratio. |
|
EclipseDetector(PVCoordinatesProvider occulted,
double occultedRadius,
GeometricBodyShape occultingBody,
double lightingRatio,
double maxCheck,
double threshold,
EventDetector.Action entry,
EventDetector.Action exit,
boolean removeEntry,
boolean removeExit)
Build a new eclipse detector based on a lighting ratio. |
|
EclipseDetector(PVCoordinatesProvider occulted,
double occultedRadius,
PVCoordinatesProvider occulting,
double occultingRadius)
Deprecated. |
|
EclipseDetector(PVCoordinatesProvider occulted,
double occultedRadius,
PVCoordinatesProvider occulting,
double occultingRadius,
boolean totalEclipse)
Deprecated. |
|
EclipseDetector(PVCoordinatesProvider occulted,
double occultedRadius,
PVCoordinatesProvider occulting,
double occultingRadius,
boolean totalEclipse,
double maxCheck)
Deprecated. |
|
EclipseDetector(PVCoordinatesProvider occulted,
double occultedRadius,
PVCoordinatesProvider occulting,
double occultingRadius,
boolean totalEclipse,
double maxCheck,
double threshold)
Deprecated. |
|
EclipseDetector(PVCoordinatesProvider occulted,
double occultedRadius,
PVCoordinatesProvider occulting,
double occultingRadius,
double maxCheck)
Deprecated. |
|
EclipseDetector(PVCoordinatesProvider occulted,
double occultedRadius,
PVCoordinatesProvider occulting,
double occultingRadius,
double maxCheck,
double threshold)
Deprecated. |
|
EclipseDetector(PVCoordinatesProvider occulted,
double occultedRadius,
PVCoordinatesProvider occulting,
double occultingRadius,
double lightingRatio,
double maxCheck,
double threshold)
Build a new eclipse detector based on a lighting ratio. |
|
EclipseDetector(PVCoordinatesProvider occulted,
double occultedRadius,
PVCoordinatesProvider occulting,
double occultingRadius,
double lightingRatio,
double maxCheck,
double threshold,
EventDetector.Action entry,
EventDetector.Action exit)
Build a new eclipse detector based on a lighting ratio. |
|
EclipseDetector(PVCoordinatesProvider occulted,
double occultedRadius,
PVCoordinatesProvider occulting,
double occultingRadius,
double lightingRatio,
double maxCheck,
double threshold,
EventDetector.Action entry,
EventDetector.Action exit,
boolean removeEntry,
boolean removeExit)
Build a new eclipse detector based on a lighting ratio. |
Method Summary | |
---|---|
EventDetector.Action |
eventOccurred(SpacecraftState s,
boolean increasing,
boolean forward)
Handle an eclipse event and choose what to do next. |
double |
g(SpacecraftState s)
Compute the value of the switching function. |
PVCoordinatesProvider |
getOcculted()
Get the occulted body. |
IDirection |
getOccultedDirection()
|
double |
getOccultedRadius()
Get the occulted body radius (m). |
PVCoordinatesProvider |
getOcculting()
Get the occulting body. |
boolean |
isTotalEclipse()
Get the total eclipse detection flag. |
boolean |
shouldBeRemoved()
This method is called after EventDetector.eventOccurred(org.orekit.propagation.SpacecraftState, boolean, boolean) has been triggered. |
Methods inherited from class org.orekit.propagation.events.AbstractDetector |
---|
getMaxCheckInterval, getMaxIterationCount, getSlopeSelection, getThreshold, init, resetState |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
@Deprecated public EclipseDetector(PVCoordinatesProvider occultedBody, double occultedBodyRadius, GeometricBodyShape occultingBody, boolean totalEclipseFlag)
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
).
occultedBody
- the body to be occultedoccultedBodyRadius
- the radius of the body to be occulted (m)occultingBody
- the occulting bodytotalEclipseFlag
- umbra (true) or penumbra (false) detection flag@Deprecated public EclipseDetector(PVCoordinatesProvider occultedBody, double occultedBodyRadius, GeometricBodyShape occultingBody, boolean totalEclipseFlag, double maxCheck, double threshold)
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
).
occultedBody
- the body to be occultedoccultedBodyRadius
- the radius of the body to be occulted (m)occultingBody
- the occulting bodytotalEclipseFlag
- umbra (true) or penumbra (false) detection flagmaxCheck
- maximum checking interval (s)threshold
- convergence threshold (s)@Deprecated public EclipseDetector(PVCoordinatesProvider occulted, double occultedRadius, PVCoordinatesProvider occulting, double occultingRadius, boolean totalEclipse)
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(PVCoordinatesProvider occulted, double occultedRadius, PVCoordinatesProvider occulting, double occultingRadius, boolean totalEclipse, double maxCheck)
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.
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 flagmaxCheck
- maximal checking interval (s)@Deprecated public EclipseDetector(PVCoordinatesProvider occulted, double occultedRadius, PVCoordinatesProvider occulting, double occultingRadius, boolean totalEclipse, double maxCheck, double threshold)
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.
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 flagmaxCheck
- maximal checking interval (s)threshold
- convergence threshold (s)@Deprecated public 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)@Deprecated public EclipseDetector(PVCoordinatesProvider occulted, double occultedRadius, PVCoordinatesProvider occulting, double occultingRadius, double maxCheck)
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.
occulted
- the body to be occultedoccultedRadius
- the radius of the body to be occulted in metersocculting
- the occulting bodyoccultingRadius
- the occulting body radius in metersmaxCheck
- maximal checking interval (s)@Deprecated public EclipseDetector(PVCoordinatesProvider occulted, double occultedRadius, PVCoordinatesProvider occulting, double occultingRadius, double maxCheck, double threshold)
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.
occulted
- the body to be occultedoccultedRadius
- the radius of the body to be occulted in metersocculting
- the occulting bodyoccultingRadius
- the occulting body radius in metersmaxCheck
- maximal checking interval (s)threshold
- convergence threshold (s)public EclipseDetector(IDirection occulted, PVCoordinatesProvider occulting, double occultingRadius, double maxCheck, double threshold)
The occulting body is a sphere and the occulted body is a direction; the concept of umbra/penumbra does not apply to this detector.
The default implementation behavior is to continue
propagation when entering the eclipse and to
stop
propagation when exiting the eclipse.
occulted
- the direction to be occultedocculting
- the occulting bodyoccultingRadius
- the occulting body radius (m)maxCheck
- maximal checking interval (s)threshold
- convergence threshold (s)public EclipseDetector(IDirection occulted, PVCoordinatesProvider occulting, double occultingRadius, double maxCheck, double threshold, EventDetector.Action entry, EventDetector.Action exit)
The occulting body is a sphere and the occulted body is a direction; the concept of umbra/penumbra does not apply to this detector.
occulted
- the direction to be occultedocculting
- the occulting bodyoccultingRadius
- the occulting body radius (m)maxCheck
- maximal checking interval (s)threshold
- convergence threshold (s)entry
- action performed when entering the eclipseexit
- action performed when exiting the eclipsepublic EclipseDetector(IDirection occulted, PVCoordinatesProvider occulting, double occultingRadius, double maxCheck, double threshold, EventDetector.Action entry, EventDetector.Action exit, boolean removeEntry, boolean removeExit)
The occulting body is a sphere and the occulted body is a direction; the concept of umbra/penumbra does not apply to this detector.
occulted
- the direction to be occultedocculting
- the occulting bodyoccultingRadius
- the occulting body radius (m)maxCheck
- maximal checking interval (s)threshold
- convergence threshold (s)entry
- action performed when entering the eclipseexit
- action performed when exiting the eclipseremoveEntry
- when the spacecraft point enters the zone.removeExit
- when the spacecraft point leaves the zone.public EclipseDetector(PVCoordinatesProvider occulted, double occultedRadius, PVCoordinatesProvider occulting, double occultingRadius, double lightingRatio, double maxCheck, double threshold)
The lighting ratio, whose value is between 0 and 1, establishes when an eclipse event should be triggered.
If 0, an event is detected only when the occulted body is completely hidden (equivalent to an umbra detector),
if 1, an event is detected every time the occulted body is just partially hidden (equivalent to a penumbra detector).
As a general rule, the lighting ratio is equal to 1 - the ratio between the hidden apparent area of the occulted body
and its total apparent area.
The default implementation behavior is to continue
propagation when entering the eclipse and to
stop
propagation when exiting the eclipse.
occulted
- the occulted bodyoccultedRadius
- the occulted body radius (m)occulting
- the occulting bodyoccultingRadius
- the occulting body radius (m)lightingRatio
- the lighting ratio: 0 when total eclipse events should be detected, 1 for penumbra events.maxCheck
- maximal checking interval (s)threshold
- convergence threshold (s)public EclipseDetector(PVCoordinatesProvider occulted, double occultedRadius, PVCoordinatesProvider occulting, double occultingRadius, double lightingRatio, double maxCheck, double threshold, EventDetector.Action entry, EventDetector.Action exit)
The lighting ratio, whose value is between 0 and 1, establishes when an eclipse event should be triggered.
If 0, an event is detected only when the occulted body is completely hidden (equivalent to an umbra detector),
if 1, an event is detected every time the occulted body is just partially hidden (equivalent to a penumbra detector).
As a general rule, the lighting ratio is equal to 1 - the ratio between the hidden apparent area of the occulted body
and its total apparent area.
occulted
- the occulted bodyoccultedRadius
- the occulted body radius (m)occulting
- the occulting bodyoccultingRadius
- the occulting body radius (m)lightingRatio
- the lighting ratio: 0 when total eclipse events should be detected, 1 for penumbra events.maxCheck
- maximal checking interval (s)threshold
- convergence threshold (s)entry
- action performed when entering the eclipseexit
- action performed when exiting the eclipsepublic EclipseDetector(PVCoordinatesProvider occulted, double occultedRadius, PVCoordinatesProvider occulting, double occultingRadius, double lightingRatio, double maxCheck, double threshold, EventDetector.Action entry, EventDetector.Action exit, boolean removeEntry, boolean removeExit)
The lighting ratio, whose value is between 0 and 1, establishes when an eclipse event should be triggered.
If 0, an event is detected only when the occulted body is completely hidden (equivalent to an umbra detector),
if 1, an event is detected every time the occulted body is just partially hidden (equivalent to a penumbra detector).
As a general rule, the lighting ratio is equal to 1 - the ratio between the hidden apparent area of the occulted body
and its total apparent area.
occulted
- the occulted bodyoccultedRadius
- the occulted body radius (m)occulting
- the occulting bodyoccultingRadius
- the occulting body radius (m)lightingRatio
- the lighting ratio: 0 when total eclipse events should be detected, 1 for penumbra events.maxCheck
- maximal checking interval (s)threshold
- convergence threshold (s)entry
- action performed when entering the eclipseexit
- action performed when exiting the eclipseremoveEntry
- when the spacecraft point enters the zone.removeExit
- when the spacecraft point leaves the zone.public EclipseDetector(PVCoordinatesProvider occulted, double occultedRadius, GeometricBodyShape occultingBody, double lightingRatio, double maxCheck, double threshold)
GeometricBodyShape
.
The lighting ratio, whose value is between 0 and 1, establishes when an eclipse event should be triggered.
If 0, an event is detected only when the occulted body is completely hidden (equivalent to an umbra detector),
if 1, an event is detected every time the occulted body is just partially hidden (equivalent to a penumbra detector).
As a general rule, the lighting ratio is equal to 1 - the ratio between the hidden apparent area of the occulted body
and its total apparent area.
The default implementation behavior is to continue
propagation when entering the eclipse and to
stop
propagation when exiting the eclipse.
occulted
- the occulted bodyoccultedRadius
- the occulted body radius (m)occultingBody
- the occulting bodylightingRatio
- the lighting ratio: 0 when total eclipse events should be detected, 1 for penumbra events.maxCheck
- maximal checking interval (s)threshold
- convergence threshold (s)public EclipseDetector(PVCoordinatesProvider occulted, double occultedRadius, GeometricBodyShape occultingBody, double lightingRatio, double maxCheck, double threshold, EventDetector.Action entry, EventDetector.Action exit)
GeometricBodyShape
.
The lighting ratio, whose value is between 0 and 1, establishes when an eclipse event should be triggered.
If 0, an event is detected only when the occulted body is completely hidden (equivalent to an umbra detector),
if 1, an event is detected every time the occulted body is just partially hidden (equivalent to a penumbra detector).
As a general rule, the lighting ratio is equal to 1 - the ratio between the hidden apparent area of the occulted body
and its total apparent area.
occulted
- the occulted bodyoccultedRadius
- the occulted body radius (m)occultingBody
- the occulting bodylightingRatio
- the lighting ratio: 0 when total eclipse events should be detected, 1 for penumbra events.maxCheck
- maximal checking interval (s)threshold
- convergence threshold (s)entry
- action performed when entering the eclipseexit
- action performed when exiting the eclipsepublic EclipseDetector(PVCoordinatesProvider occulted, double occultedRadius, GeometricBodyShape occultingBody, double lightingRatio, double maxCheck, double threshold, EventDetector.Action entry, EventDetector.Action exit, boolean removeEntry, boolean removeExit)
GeometricBodyShape
.
The lighting ratio, whose value is between 0 and 1, establishes when an eclipse event should be triggered.
If 0, an event is detected only when the occulted body is completely hidden (equivalent to an umbra detector),
if 1, an event is detected every time the occulted body is just partially hidden (equivalent to a penumbra detector).
As a general rule, the lighting ratio is equal to 1 - the ratio between the hidden apparent area of the occulted body
and its total apparent area.
occulted
- the occulted bodyoccultedRadius
- the occulted body radius (m)occultingBody
- the occulting bodylightingRatio
- the lighting ratio: 0 when total eclipse events should be detected, 1 for penumbra events.maxCheck
- maximal checking interval (s)threshold
- convergence threshold (s)entry
- action performed when entering the eclipseexit
- action performed when exiting the eclipseremoveEntry
- when the spacecraft point enters the zone.removeExit
- when the spacecraft point leaves the zone.Method Detail |
---|
public PVCoordinatesProvider getOcculting()
public PVCoordinatesProvider getOcculted()
public double getOccultedRadius()
public IDirection getOccultedDirection()
public boolean isTotalEclipse()
public EventDetector.Action eventOccurred(SpacecraftState s, boolean increasing, boolean forward) throws OrekitException
eventOccurred
in interface EventDetector
eventOccurred
in class AbstractDetector
s
- the current state information : date, kinematics, attitudeincreasing
- if true, the value of the switching function increases
when times increases around eventforward
- if true, the integration variable (time) increases during integration.
OrekitException
- if some specific error occurspublic boolean shouldBeRemoved()
EventDetector.eventOccurred(org.orekit.propagation.SpacecraftState, boolean, boolean)
has been triggered.
It returns true if the current detector should be removed after first event detection.
WARNING: this method can be called only once a event has been triggered. Before,
the value is not available.
shouldBeRemoved
in interface EventDetector
shouldBeRemoved
in class AbstractDetector
public double g(SpacecraftState s) throws OrekitException
g
in interface EventDetector
g
in class AbstractDetector
s
- the current state information: date, kinematics, attitude
OrekitException
- if some specific error occurs
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |