|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.orekit.propagation.events.AbstractDetector
org.orekit.propagation.events.ApsideDetector
public class ApsideDetector
Finder for apside crossing events.
This class finds apside crossing events (i.e. apogee and/or perigee crossing).
The default implementation behavior is to stop
propagation
at apogee or/and perigee crossing depending on slope selection defined PERIGEE
,
APOGEE
and PERIGEE_APOGEE
.
This can be changed by overriding one of the following constructors :
ApsideDetector
: the
defined action is performed at apogee OR/AND perigee depending on slope selection defined.
ApsideDetector
: the defined actions are performed at apogee AND perigee.
Beware that apside detection will fail for almost circular orbits. If
for example an apside detector is used to trigger an ImpulseManeuver
and the maneuver
change the orbit shape to circular, then the detector may completely fail just
after the maneuver has been performed!
Propagator.addEventDetector(EventDetector)
,
Serialized FormNested Class Summary |
---|
Nested classes/interfaces inherited from interface org.orekit.propagation.events.EventDetector |
---|
EventDetector.Action |
Field Summary | |
---|---|
static int |
APOGEE
Flag for apogee detection (slopeSelection = 1). |
static int |
PERIGEE
Flag for perigee detection (slopeSelection = 0). |
static int |
PERIGEE_APOGEE
Flag for both perigee and apogee detection (slopeSelection = 2). |
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 | |
---|---|
ApsideDetector(double maxCheck,
double threshold,
EventDetector.Action action_apogee,
EventDetector.Action action_perigee)
Build a new instance with both apogee and perigee detection. |
|
ApsideDetector(double maxCheck,
double threshold,
EventDetector.Action action_apogee,
EventDetector.Action action_perigee,
boolean remove_apogee,
boolean remove_perigee)
Build a new instance with both apogee and perigee detection. |
|
ApsideDetector(int slopeSelection,
double maxCheck,
double threshold)
Build a new instance. |
|
ApsideDetector(int slopeSelection,
double maxCheck,
double threshold,
EventDetector.Action action)
Build a new instance with apogee OR/AND perigee detection depending on slope selection. |
|
ApsideDetector(int slopeSelection,
double maxCheck,
double threshold,
EventDetector.Action action,
boolean remove)
Build a new instance with apogee OR/AND perigee detection depending on slope selection. |
|
ApsideDetector(Orbit orbit,
int slopeSelection)
Build a new instance. |
|
ApsideDetector(Orbit orbit,
int slopeSelection,
double threshold)
Build a new instance. |
Method Summary | |
---|---|
EventDetector.Action |
eventOccurred(SpacecraftState s,
boolean increasing,
boolean forward)
Handle an apside crossing event and choose what to do next. |
double |
g(SpacecraftState s)
Compute the value of the switching function. |
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 |
Field Detail |
---|
public static final int PERIGEE
public static final int APOGEE
public static final int PERIGEE_APOGEE
Constructor Detail |
---|
public ApsideDetector(Orbit orbit, int slopeSelection)
The orbit is used only to set an upper bound for the max check interval to period/3 and to set the convergence threshold according to orbit size
The default implementation behavior is to stop
propagation when the expected
apside is reached.
orbit
- initial orbitslopeSelection
- PERIGEE
for perigee detection,APOGEE
for apogee detection,PERIGEE_APOGEE
for both perigee and
apogee detection.public ApsideDetector(Orbit orbit, int slopeSelection, double threshold)
The orbit is used only to set an upper bound for the max check interval to period/3
The default implementation behavior is to stop
propagation when the expected
apside is reached.
orbit
- initial orbitslopeSelection
- PERIGEE
for perigee detection,APOGEE
for apogee detection,PERIGEE_APOGEE
for both perigee and
apogee detection.threshold
- convergence threshold (s)public ApsideDetector(int slopeSelection, double maxCheck, double threshold)
The default implementation behavior is to stop
propagation when the expected
apside is reached.
slopeSelection
- PERIGEE
for perigee detection,APOGEE
for apogee detection,PERIGEE_APOGEE
for both perigee and
apogee detection.maxCheck
- maximal checking interval (s)threshold
- convergence threshold (s)public ApsideDetector(double maxCheck, double threshold, EventDetector.Action action_apogee, EventDetector.Action action_perigee)
maxCheck
- maximal checking interval (s)threshold
- convergence threshold (s)action_apogee
- action to be perform when the apogee is reachedaction_perigee
- action to be perform when the perigee is reachedpublic ApsideDetector(double maxCheck, double threshold, EventDetector.Action action_apogee, EventDetector.Action action_perigee, boolean remove_apogee, boolean remove_perigee)
maxCheck
- maximal checking interval (s)threshold
- convergence threshold (s)action_apogee
- action to be perform when the apogee is reachedaction_perigee
- action to be perform when the perigee is reachedremove_apogee
- true if detector should be removed at apogeeremove_perigee
- true if detector should be removed at perigeepublic ApsideDetector(int slopeSelection, double maxCheck, double threshold, EventDetector.Action action)
slopeSelection
- PERIGEE
for perigee detection,APOGEE
for apogee detection,PERIGEE_APOGEE
for both perigee and
apogee detection.maxCheck
- maximal checking interval (s)threshold
- convergence threshold (s)action
- action to be performed when the expected apside is reachedpublic ApsideDetector(int slopeSelection, double maxCheck, double threshold, EventDetector.Action action, boolean remove)
slopeSelection
- PERIGEE
for perigee detection,APOGEE
for apogee detection,PERIGEE_APOGEE
for both perigee and apogee detection.maxCheck
- maximal checking interval (s)threshold
- convergence threshold (s)action
- action to be performed when the expected apside is reachedremove
- true if detector should be removedMethod Detail |
---|
public 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 EventDetector.Action eventOccurred(SpacecraftState s, boolean increasing, boolean forward) throws OrekitException
Handle an apside crossing event and choose what to do next.
The default implementation behavior is to stop
propagation when the expected apside is reached.
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 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 |