Package org.orekit.bodies
Class AnalyticalLunarPositionProvider
- java.lang.Object
-
- org.orekit.bodies.AnalyticalLunarPositionProvider
-
- All Implemented Interfaces:
ExtendedPositionProvider,PVCoordinatesProvider
public class AnalyticalLunarPositionProvider extends Object
Class computing low-fidelity positions for the Moon. They should only be used in the decades around the year 2000.
Reference: Montenbruck, Oliver, and Gill, Eberhard. Satellite orbits : models, methods, and applications. Berlin New York: Springer, 2000.- Since:
- 14.0
- Author:
- Romain Serra
-
-
Field Summary
Fields Modifier and Type Field Description protected static SinCosSIN_COS_ECLIPTIC_ANGLE_EME2000Sine anc cosine of approximate ecliptic angle used when converting from ecliptic to EME2000.
-
Constructor Summary
Constructors Constructor Description AnalyticalLunarPositionProvider()Constructor with default data context.AnalyticalLunarPositionProvider(DataContext dataContext)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Vector3DgetEME2000Position(AbsoluteDate date)Computes the Moon's position vector in EME2000.protected <T extends CalculusFieldElement<T>>
FieldVector3D<T>getFieldEME2000Position(FieldAbsoluteDate<T> date)Computes the Moon's position vector in EME2000.Vector3DgetPosition(AbsoluteDate date, Frame frame)Get the position of the body in the selected frame.<T extends CalculusFieldElement<T>>
FieldVector3D<T>getPosition(FieldAbsoluteDate<T> date, Frame frame)Get the position in the selected frame.TimeScalegetTimeScale()Getter for time scale.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.utils.ExtendedPositionProvider
getPVCoordinates, getPVCoordinates, getVelocity, getVelocity, toFieldPVCoordinatesProvider
-
-
-
-
Field Detail
-
SIN_COS_ECLIPTIC_ANGLE_EME2000
protected static final SinCos SIN_COS_ECLIPTIC_ANGLE_EME2000
Sine anc cosine of approximate ecliptic angle used when converting from ecliptic to EME2000.
-
-
Constructor Detail
-
AnalyticalLunarPositionProvider
public AnalyticalLunarPositionProvider(DataContext dataContext)
Constructor.- Parameters:
dataContext- data context
-
AnalyticalLunarPositionProvider
@DefaultDataContext public AnalyticalLunarPositionProvider()
Constructor with default data context.
-
-
Method Detail
-
getEME2000Position
protected Vector3D getEME2000Position(AbsoluteDate date)
Computes the Moon's position vector in EME2000.- Parameters:
date- date- Returns:
- lunar position
-
getFieldEME2000Position
protected <T extends CalculusFieldElement<T>> FieldVector3D<T> getFieldEME2000Position(FieldAbsoluteDate<T> date)
Computes the Moon's position vector in EME2000.- Type Parameters:
T- field type- Parameters:
date- date- Returns:
- lunar position
-
getTimeScale
public TimeScale getTimeScale()
Getter for time scale.- Returns:
- time scale
-
getPosition
public Vector3D getPosition(AbsoluteDate date, Frame frame)
Get the position of the body in the selected frame.- Specified by:
getPositionin interfacePVCoordinatesProvider- Parameters:
date- current dateframe- the frame where to define the position- Returns:
- position of the body (m and)
-
getPosition
public <T extends CalculusFieldElement<T>> FieldVector3D<T> getPosition(FieldAbsoluteDate<T> date, Frame frame)
Get the position in the selected frame.- Specified by:
getPositionin interfaceExtendedPositionProvider- Type Parameters:
T- field type- Parameters:
date- current dateframe- the frame where to define the position- Returns:
- position
-
-