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
ABoundedPropagatorthat 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 severalBoundedPropagators.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 Deprecated Methods Modifier and Type Method Description protected SpacecraftStatebasicPropagate(AbsoluteDate date)Propagate an orbit without any fancy features.SpacecraftStategetInitialState()Get the propagator initial state.protected doublegetMass(AbsoluteDate date)Get the mass.AbsoluteDategetMaxDate()Get the last date of the range.AbsoluteDategetMinDate()Get the first date of the range.Vector3DgetPosition(AbsoluteDate date, Frame frame)Get the position of the body in the selected frame.NavigableMap<AbsoluteDate,BoundedPropagator>getPropagators()Deprecated.as of 12.1, replaced bygetPropagatorsMap()TimeSpanMap<BoundedPropagator>getPropagatorsMap()Get the propagators map.TimeStampedPVCoordinatesgetPVCoordinates(AbsoluteDate date, Frame frame)Get thePVCoordinatesof the body in the selected frame.protected OrbitpropagateOrbit(AbsoluteDate date)Extrapolate an orbit up to a specific target date.voidresetInitialState(SpacecraftState state)Reset the propagator initial state.protected voidresetIntermediateState(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
-
-
-
-
Constructor Detail
-
AggregateBoundedPropagator
public AggregateBoundedPropagator(Collection<? extends BoundedPropagator> propagators)
Create a propagator by concatenating severalBoundedPropagators.- 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
-
getPropagatorsMap
public TimeSpanMap<BoundedPropagator> getPropagatorsMap()
Get the propagators map.- Returns:
- propagators map
- Since:
- 12.1
-
getPropagators
@Deprecated public NavigableMap<AbsoluteDate,BoundedPropagator> getPropagators()
Deprecated.as of 12.1, replaced bygetPropagatorsMap()Get an unmodifiable view of the propagators map.The key of the map entries are the
min datesof each propagator.- Returns:
- unmodifiable view of the propagators map
- Since:
- 12.0
-
basicPropagate
protected SpacecraftState basicPropagate(AbsoluteDate date)
Description copied from class:AbstractAnalyticalPropagatorPropagate 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:
basicPropagatein classAbstractAnalyticalPropagator- Parameters:
date- target date for propagation- Returns:
- state at specified date
-
getPVCoordinates
public TimeStampedPVCoordinates getPVCoordinates(AbsoluteDate date, Frame frame)
Description copied from interface:PropagatorGet thePVCoordinatesof the body in the selected frame.- Specified by:
getPVCoordinatesin interfacePropagator- Specified by:
getPVCoordinatesin interfacePVCoordinatesProvider- Parameters:
date- current dateframe- the frame where to define the position- Returns:
- time-stamped position/velocity of the body (m and m/s)
-
getPosition
public Vector3D getPosition(AbsoluteDate date, Frame frame)
Description copied from interface:PropagatorGet the position of the body in the selected frame.- Specified by:
getPositionin interfacePropagator- Specified by:
getPositionin interfacePVCoordinatesProvider- Parameters:
date- current dateframe- the frame where to define the position- Returns:
- position of the body (m and)
-
propagateOrbit
protected Orbit propagateOrbit(AbsoluteDate date)
Description copied from class:AbstractAnalyticalPropagatorExtrapolate an orbit up to a specific target date.- Specified by:
propagateOrbitin classAbstractAnalyticalPropagator- Parameters:
date- target date for the orbit- Returns:
- extrapolated parameters
-
getMinDate
public AbsoluteDate getMinDate()
Description copied from interface:BoundedPropagatorGet the first date of the range.- Specified by:
getMinDatein interfaceBoundedPropagator- Returns:
- the first date of the range
-
getMaxDate
public AbsoluteDate getMaxDate()
Description copied from interface:BoundedPropagatorGet the last date of the range.- Specified by:
getMaxDatein interfaceBoundedPropagator- Returns:
- the last date of the range
-
getMass
protected double getMass(AbsoluteDate date)
Description copied from class:AbstractAnalyticalPropagatorGet the mass.- Specified by:
getMassin classAbstractAnalyticalPropagator- Parameters:
date- target date for the orbit- Returns:
- mass mass
-
getInitialState
public SpacecraftState getInitialState()
Description copied from class:AbstractPropagatorGet the propagator initial state.- Specified by:
getInitialStatein interfacePropagator- Overrides:
getInitialStatein classAbstractPropagator- Returns:
- initial state
-
resetIntermediateState
protected void resetIntermediateState(SpacecraftState state, boolean forward)
Description copied from class:AbstractAnalyticalPropagatorReset an intermediate state.- Specified by:
resetIntermediateStatein 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:AbstractPropagatorReset the propagator initial state.- Specified by:
resetInitialStatein interfacePropagator- Overrides:
resetInitialStatein classAbstractPropagator- Parameters:
state- new initial state to consider
-
-