|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.orekit.propagation.AbstractPropagator
org.orekit.propagation.analytical.AdapterPropagator
public class AdapterPropagator
Orbit propagator that adapts an underlying propagator, adding differential effects.
This propagator is used when a reference propagator does not handle
some effects that we need. A typical example would be an ephemeris
that was computed for a reference orbit, and we want to compute a
station-keeping maneuver on top of this ephemeris, changing its
final state. The principal is to add one or more small maneuvers
analytical models to it and use it as a new propagator, which takes the
maneuvers into account.
From a space flight dynamics point of view, this is a differential correction approach. From a computer science point of view, this is a use of the decorator design pattern.
Propagator,
SmallManeuverAnalyticalModel,
Serialized Form| Nested Class Summary | |
|---|---|
static interface |
AdapterPropagator.DifferentialEffect
Interface for orbit differential effects. |
| Field Summary |
|---|
| Fields inherited from class org.orekit.propagation.AbstractPropagator |
|---|
MASS |
| Fields inherited from interface org.orekit.propagation.Propagator |
|---|
EPHEMERIS_GENERATION_MODE, MASTER_MODE, SLAVE_MODE |
| Constructor Summary | |
|---|---|
AdapterPropagator(Propagator reference)
Build a propagator from an underlying reference propagator. |
|
| Method Summary | |
|---|---|
void |
addEffect(AdapterPropagator.DifferentialEffect effect)
Add a differential effect. |
protected SpacecraftState |
basicPropagate(AbsoluteDate date)
Propagate an orbit without any fancy features. |
List<AdapterPropagator.DifferentialEffect> |
getEffects()
Get the differential effects. |
SpacecraftState |
getInitialState()
Get the propagator initial state. |
Propagator |
getPropagator()
Get the reference propagator. |
protected Orbit |
propagateOrbit(AbsoluteDate date)
Extrapolate an orbit up to a specific target date. |
void |
resetInitialState(SpacecraftState state)
Reset the propagator initial state. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public AdapterPropagator(Propagator reference)
The reference propagator can be almost anything, numerical, analytical, and even an ephemeris. It may already take some maneuvers into account.
reference - reference propagator| Method Detail |
|---|
public void addEffect(AdapterPropagator.DifferentialEffect effect)
effect - differential effectpublic Propagator getPropagator()
public List<AdapterPropagator.DifferentialEffect> getEffects()
public SpacecraftState getInitialState()
throws OrekitException
getInitialState in interface PropagatorgetInitialState in class AbstractPropagatorOrekitException - if state cannot be retrieved
public void resetInitialState(SpacecraftState state)
throws PropagationException
resetInitialState in interface PropagatorresetInitialState in class AbstractPropagatorstate - new initial state to consider
PropagationException - if initial state cannot be reset
protected SpacecraftState basicPropagate(AbsoluteDate date)
throws PropagationException
This method is similar in spirit to the AbstractPropagator.propagate(org.orekit.time.AbsoluteDate) method,
except that it does not call any handler during
propagation, nor any discrete events. It always stop exactly at
the specified date.
basicPropagate in class AbstractPropagatordate - target date for propagation
PropagationException - if propagation cannot reach specified date
protected Orbit propagateOrbit(AbsoluteDate date)
throws PropagationException
propagateOrbit in class AbstractPropagatordate - target date for the orbit
PropagationException - if some parameters are out of bounds
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||