|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.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 FormNested 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 propagatorMethod 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 Propagator
getInitialState
in class AbstractPropagator
OrekitException
- if state cannot be retrievedpublic void resetInitialState(SpacecraftState state) throws PropagationException
resetInitialState
in interface Propagator
resetInitialState
in class AbstractPropagator
state
- new initial state to consider
PropagationException
- if initial state cannot be resetprotected 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 AbstractPropagator
date
- target date for propagation
PropagationException
- if propagation cannot reach specified dateprotected Orbit propagateOrbit(AbsoluteDate date) throws PropagationException
propagateOrbit
in class AbstractPropagator
date
- 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 |