Class AggregateBoundedPropagator
- java.lang.Object
-
- org.orekit.propagation.AbstractPropagator
-
- org.orekit.propagation.analytical.AbstractAnalyticalPropagator
-
- org.orekit.propagation.analytical.AggregateBoundedPropagator
-
- All Implemented Interfaces:
BoundedPropagator
,Propagator
,PVCoordinatesProvider
public class AggregateBoundedPropagator extends AbstractAnalyticalPropagator implements BoundedPropagator
ABoundedPropagator
that covers a larger time span from several constituent propagators that cover shorter time spans.- Since:
- 9.0
- Author:
- Evan Ward
- See Also:
AggregateBoundedPropagator(Collection)
-
-
Field Summary
-
Fields inherited from interface org.orekit.propagation.Propagator
DEFAULT_MASS
-
-
Constructor Summary
Constructors Constructor Description AggregateBoundedPropagator(Collection<? extends BoundedPropagator> propagators)
Create a propagator by concatenating severalBoundedPropagator
s.AggregateBoundedPropagator(NavigableMap<AbsoluteDate,? extends BoundedPropagator> propagators, AbsoluteDate min, AbsoluteDate max)
Create a propagator from several constituent propagators.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected SpacecraftState
basicPropagate(AbsoluteDate date)
Propagate an orbit without any fancy features.SpacecraftState
getInitialState()
Get the propagator initial state.protected double
getMass(AbsoluteDate date)
Get the mass.AbsoluteDate
getMaxDate()
Get the last date of the range.AbsoluteDate
getMinDate()
Get the first date of the range.NavigableMap<AbsoluteDate,? extends BoundedPropagator>
getPropagators()
Get an unmodifiable view of the propagators map.TimeStampedPVCoordinates
getPVCoordinates(AbsoluteDate date, Frame frame)
Get thePVCoordinates
of the body in the selected frame.protected Orbit
propagateOrbit(AbsoluteDate date)
Extrapolate an orbit up to a specific target date.void
resetInitialState(SpacecraftState state)
Reset the propagator initial state.protected void
resetIntermediateState(SpacecraftState state, boolean forward)
Reset an intermediate state.-
Methods inherited from class org.orekit.propagation.analytical.AbstractAnalyticalPropagator
acceptStep, addEventDetector, clearEventsDetectors, getEphemerisGenerator, getEventsDetectors, getJacobiansColumnsNames, getPvProvider, propagate
-
Methods inherited from class org.orekit.propagation.AbstractPropagator
addAdditionalStateProvider, createHarvester, getAdditionalStateProviders, getAttitudeProvider, getFrame, getHarvester, getManagedAdditionalStates, getMultiplexer, getStartDate, initializeAdditionalStates, initializePropagation, isAdditionalStateManaged, propagate, setAttitudeProvider, setStartDate, setupMatricesComputation, stateChanged, updateAdditionalStates, updateUnmanagedStates
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.propagation.Propagator
addAdditionalStateProvider, addEventDetector, clearEventsDetectors, clearStepHandlers, getAdditionalStateProviders, getAttitudeProvider, getEphemerisGenerator, getEventsDetectors, getFrame, getManagedAdditionalStates, getMultiplexer, isAdditionalStateManaged, propagate, propagate, setAttitudeProvider, setStepHandler, setStepHandler, setupMatricesComputation
-
Methods inherited from interface org.orekit.utils.PVCoordinatesProvider
getPosition
-
-
-
-
Constructor Detail
-
AggregateBoundedPropagator
public AggregateBoundedPropagator(Collection<? extends BoundedPropagator> propagators)
Create a propagator by concatenating severalBoundedPropagator
s.- Parameters:
propagators
- that provide the backing data for this instance. There must be at least one propagator in the collection. If there are gaps between theBoundedPropagator.getMaxDate()
of one propagator and theBoundedPropagator.getMinDate()
of the next propagator an exception may be thrown by any method of this class at any time. If there are overlaps between theBoundedPropagator.getMaxDate()
of one propagator and theBoundedPropagator.getMinDate()
of the next propagator then the propagator with the latestBoundedPropagator.getMinDate()
is used.
-
AggregateBoundedPropagator
public AggregateBoundedPropagator(NavigableMap<AbsoluteDate,? extends BoundedPropagator> propagators, AbsoluteDate min, AbsoluteDate max)
Create a propagator from several constituent propagators.- Parameters:
propagators
- that provide the backing data for this instance. Each propagator is used from the date of it's key in the map until the date of the next key. The first propagator is also used before the first key and the last propagator after the last key.min
- the value forgetMinDate()
.max
- the value forgetMaxDate()
.
-
-
Method Detail
-
getPropagators
public NavigableMap<AbsoluteDate,? extends BoundedPropagator> getPropagators()
Get an unmodifiable view of the propagators map.The key of the map entries are the
min dates
of each propagator.- Returns:
- unmodifiable view of the propagators map
- Since:
- 12.0
-
basicPropagate
protected SpacecraftState basicPropagate(AbsoluteDate date)
Description copied from class:AbstractAnalyticalPropagator
Propagate an orbit without any fancy features.This method is similar in spirit to the
AbstractAnalyticalPropagator.propagate(org.orekit.time.AbsoluteDate, org.orekit.time.AbsoluteDate)
method, except that it does not call any handler during propagation, nor any discrete events, not additional states. It always stop exactly at the specified date.- Overrides:
basicPropagate
in classAbstractAnalyticalPropagator
- Parameters:
date
- target date for propagation- Returns:
- state at specified date
-
getPVCoordinates
public TimeStampedPVCoordinates getPVCoordinates(AbsoluteDate date, Frame frame)
Description copied from class:AbstractPropagator
Get thePVCoordinates
of the body in the selected frame.- Specified by:
getPVCoordinates
in interfacePVCoordinatesProvider
- Overrides:
getPVCoordinates
in classAbstractPropagator
- Parameters:
date
- current dateframe
- the frame where to define the position- Returns:
- time-stamped position/velocity of the body (m and m/s)
-
propagateOrbit
protected Orbit propagateOrbit(AbsoluteDate date)
Description copied from class:AbstractAnalyticalPropagator
Extrapolate an orbit up to a specific target date.- Specified by:
propagateOrbit
in classAbstractAnalyticalPropagator
- Parameters:
date
- target date for the orbit- Returns:
- extrapolated parameters
-
getMinDate
public AbsoluteDate getMinDate()
Description copied from interface:BoundedPropagator
Get the first date of the range.- Specified by:
getMinDate
in interfaceBoundedPropagator
- Returns:
- the first date of the range
-
getMaxDate
public AbsoluteDate getMaxDate()
Description copied from interface:BoundedPropagator
Get the last date of the range.- Specified by:
getMaxDate
in interfaceBoundedPropagator
- Returns:
- the last date of the range
-
getMass
protected double getMass(AbsoluteDate date)
Description copied from class:AbstractAnalyticalPropagator
Get the mass.- Specified by:
getMass
in classAbstractAnalyticalPropagator
- Parameters:
date
- target date for the orbit- Returns:
- mass mass
-
getInitialState
public SpacecraftState getInitialState()
Description copied from class:AbstractPropagator
Get the propagator initial state.- Specified by:
getInitialState
in interfacePropagator
- Overrides:
getInitialState
in classAbstractPropagator
- Returns:
- initial state
-
resetIntermediateState
protected void resetIntermediateState(SpacecraftState state, boolean forward)
Description copied from class:AbstractAnalyticalPropagator
Reset an intermediate state.- Specified by:
resetIntermediateState
in classAbstractAnalyticalPropagator
- Parameters:
state
- new intermediate state to considerforward
- if true, the intermediate state is valid for propagations after itself
-
resetInitialState
public void resetInitialState(SpacecraftState state)
Description copied from class:AbstractPropagator
Reset the propagator initial state.- Specified by:
resetInitialState
in interfacePropagator
- Overrides:
resetInitialState
in classAbstractPropagator
- Parameters:
state
- new initial state to consider
-
-