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
NormalizedSphericalHarmonicsProvider
by 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 double
getAe()
Get the value of the central body reference radius.int
getMaxDegree()
Get the maximal supported degree.int
getMaxOrder()
Get the maximal supported order.double
getMu()
Get the central body attraction coefficient.double
getOffset(AbsoluteDate date)
Get the offset fromreference date
for the harmonics.AbsoluteDate
getReferenceDate()
Get the reference date for the harmonics.TideSystem
getTideSystem()
Get theTideSystem
used in the gravity field.NormalizedSphericalHarmonicsProvider.NormalizedSphericalHarmonics
onDate(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_INFINITY
if 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:
getMaxDegree
in interfaceSphericalHarmonicsProvider
- Returns:
- maximal supported degree
-
getMaxOrder
public int getMaxOrder()
Get the maximal supported order.- Specified by:
getMaxOrder
in interfaceSphericalHarmonicsProvider
- Returns:
- maximal supported order
-
getMu
public double getMu()
Get the central body attraction coefficient.- Specified by:
getMu
in interfaceSphericalHarmonicsProvider
- Returns:
- mu (m³/s²)
-
getAe
public double getAe()
Get the value of the central body reference radius.- Specified by:
getAe
in interfaceSphericalHarmonicsProvider
- Returns:
- ae (m)
-
getReferenceDate
public AbsoluteDate getReferenceDate()
Get the reference date for the harmonics.- Specified by:
getReferenceDate
in interfaceSphericalHarmonicsProvider
- Returns:
- reference date for the harmonics
-
getOffset
public double getOffset(AbsoluteDate date)
Get the offset fromreference date
for the harmonics.- Specified by:
getOffset
in 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 theTideSystem
used in the gravity field.- Specified by:
getTideSystem
in 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:
onDate
in interfaceNormalizedSphericalHarmonicsProvider
- Parameters:
date
- of evaluation- Returns:
- normalized coefficients on
date
.
-
-