Class AnalyticalSolarPositionProvider

  • All Implemented Interfaces:
    ExtendedPositionProvider, PVCoordinatesProvider

    public class AnalyticalSolarPositionProvider
    extends Object
    Class computing low-fidelity positions for the Sun. 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:
    12.2
    Author:
    Romain Serra
    • Constructor Detail

      • AnalyticalSolarPositionProvider

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

        @DefaultDataContext
        public AnalyticalSolarPositionProvider()
        Constructor with default data context.
    • Method Detail

      • getEME2000Position

        protected Vector3D getEME2000Position​(AbsoluteDate date)
        Computes the Sun's position vector in EME2000.
        Parameters:
        date - date
        Returns:
        solar position
      • getFieldEME2000Position

        protected <T extends CalculusFieldElement<T>> FieldVector3D<T> getFieldEME2000Position​(FieldAbsoluteDate<T> date)
        Computes the Sun's position vector in EME2000.
        Type Parameters:
        T - field type
        Parameters:
        date - date
        Returns:
        solar 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)