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 Details

    • 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 Details

    • AnalyticalLunarPositionProvider

      public AnalyticalLunarPositionProvider(DataContext dataContext)
      Constructor.
      Parameters:
      dataContext - data context
    • AnalyticalLunarPositionProvider

      @DefaultDataContext public AnalyticalLunarPositionProvider()
      Constructor with default data context.
  • Method Details

    • 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:
      getPosition in interface PVCoordinatesProvider
      Parameters:
      date - current date
      frame - 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:
      getPosition in interface ExtendedPositionProvider
      Type Parameters:
      T - field type
      Parameters:
      date - current date
      frame - the frame where to define the position
      Returns:
      position