Class 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 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:
        getPosition in interface PVCoordinatesProvider
        Parameters:
        date - current date
        frame - the frame where to define the position
        Returns:
        position of the body (m and)