Class CachedNormalizedSphericalHarmonicsProvider
- java.lang.Object
-
- org.orekit.forces.gravity.potential.CachedNormalizedSphericalHarmonicsProvider
-
- All Implemented Interfaces:
NormalizedSphericalHarmonicsProvider,SphericalHarmonicsProvider,TideSystemProvider
public class CachedNormalizedSphericalHarmonicsProvider extends Object implements NormalizedSphericalHarmonicsProvider
Caching wrapper forNormalizedSphericalHarmonicsProvider.This wrapper improves efficiency of
NormalizedSphericalHarmonicsProviderby sampling the values at a user defined rate and using interpolation between samples. This is important with providers that have sub-daily frequencies and are computing intensive, such as tides fields.- Since:
- 6.1
- Author:
- Luc Maisonobe
- See Also:
NormalizedSphericalHarmonicsProvider,SolidTides,TimeStampedCache
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.orekit.forces.gravity.potential.NormalizedSphericalHarmonicsProvider
NormalizedSphericalHarmonicsProvider.NormalizedSphericalHarmonics
-
-
Constructor Summary
Constructors Constructor Description CachedNormalizedSphericalHarmonicsProvider(NormalizedSphericalHarmonicsProvider rawProvider, double step, int nbPoints, int maxSlots, double maxSpan, double newSlotInterval)Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description doublegetAe()Get the value of the central body reference radius.intgetMaxDegree()Get the maximal supported degree.intgetMaxOrder()Get the maximal supported order.doublegetMu()Get the central body attraction coefficient.doublegetOffset(AbsoluteDate date)Get the offset fromreference datefor the harmonics.AbsoluteDategetReferenceDate()Get the reference date for the harmonics.TideSystemgetTideSystem()Get theTideSystemused in the gravity field.NormalizedSphericalHarmonicsProvider.NormalizedSphericalHarmonicsonDate(AbsoluteDate date)Get the normalized spherical harmonic coefficients at a specific instance in time.
-
-
-
Constructor Detail
-
CachedNormalizedSphericalHarmonicsProvider
public CachedNormalizedSphericalHarmonicsProvider(NormalizedSphericalHarmonicsProvider rawProvider, double step, int nbPoints, int maxSlots, double maxSpan, double newSlotInterval)
Simple constructor.- Parameters:
rawProvider- underlying raw providerstep- time step between sample points for interpolationnbPoints- number of points to use for interpolation, must be at least 2maxSlots- maximum number of independent cached time slotsmaxSpan- maximum duration span in seconds of one slot (can be set toDouble.POSITIVE_INFINITYif desired)newSlotInterval- time interval above which a new slot is created instead of extending an existing one
-
-
Method Detail
-
getMaxDegree
public int getMaxDegree()
Get the maximal supported degree.- Specified by:
getMaxDegreein interfaceSphericalHarmonicsProvider- Returns:
- maximal supported degree
-
getMaxOrder
public int getMaxOrder()
Get the maximal supported order.- Specified by:
getMaxOrderin interfaceSphericalHarmonicsProvider- Returns:
- maximal supported order
-
getMu
public double getMu()
Get the central body attraction coefficient.- Specified by:
getMuin interfaceSphericalHarmonicsProvider- Returns:
- mu (m³/s²)
-
getAe
public double getAe()
Get the value of the central body reference radius.- Specified by:
getAein interfaceSphericalHarmonicsProvider- Returns:
- ae (m)
-
getReferenceDate
public AbsoluteDate getReferenceDate()
Get the reference date for the harmonics.- Specified by:
getReferenceDatein interfaceSphericalHarmonicsProvider- Returns:
- reference date for the harmonics
-
getOffset
public double getOffset(AbsoluteDate date)
Get the offset fromreference datefor the harmonics.- Specified by:
getOffsetin interfaceSphericalHarmonicsProvider- Parameters:
date- current date- Returns:
- offset between current date and reference date if there is a reference
date, or 0.0 if there are no reference dates (i.e. if
SphericalHarmonicsProvider.getReferenceDate()returns null)
-
getTideSystem
public TideSystem getTideSystem()
Get theTideSystemused in the gravity field.- Specified by:
getTideSystemin interfaceTideSystemProvider- Returns:
- tide system used in the gravity field
-
onDate
public NormalizedSphericalHarmonicsProvider.NormalizedSphericalHarmonics onDate(AbsoluteDate date)
Get the normalized spherical harmonic coefficients at a specific instance in time.- Specified by:
onDatein interfaceNormalizedSphericalHarmonicsProvider- Parameters:
date- of evaluation- Returns:
- normalized coefficients on
date.
-
-