Class FieldEclipseDetector<T extends org.hipparchus.RealFieldElement<T>>

    • Constructor Detail

      • FieldEclipseDetector

        public FieldEclipseDetector​(PVCoordinatesProvider occulted,
                                    double occultedRadius,
                                    PVCoordinatesProvider occulting,
                                    double occultingRadius,
                                    org.hipparchus.Field<T> field)
        Build a new eclipse detector.

        The new instance is a total eclipse (umbra) detector with default values for maximal checking interval (FieldAbstractDetector.DEFAULT_MAXCHECK) and convergence threshold (FieldAbstractDetector.DEFAULT_THRESHOLD).

        Parameters:
        occulted - the body to be occulted
        occultedRadius - the radius of the body to be occulted (m)
        occulting - the occulting body
        occultingRadius - the occulting body radius (m)
        field - field used by default
      • FieldEclipseDetector

        public FieldEclipseDetector​(T maxCheck,
                                    PVCoordinatesProvider occulted,
                                    double occultedRadius,
                                    PVCoordinatesProvider occulting,
                                    double occultingRadius)
        Build a new eclipse detector.

        The new instance is a total eclipse (umbra) detector with default value for convergence threshold (FieldAbstractDetector.DEFAULT_THRESHOLD).

        The maximal interval between eclipse checks should be smaller than the half duration of the minimal pass to handle, otherwise some short passes could be missed.

        Parameters:
        maxCheck - maximal checking interval (s)
        occulted - the body to be occulted
        occultedRadius - the radius of the body to be occulted in meters
        occulting - the occulting body
        occultingRadius - the occulting body radius in meters
      • FieldEclipseDetector

        public FieldEclipseDetector​(T maxCheck,
                                    T threshold,
                                    PVCoordinatesProvider occulted,
                                    double occultedRadius,
                                    PVCoordinatesProvider occulting,
                                    double occultingRadius)
        Build a new eclipse detector.

        The new instance is a total eclipse (umbra) detector.

        The maximal interval between eclipse checks should be smaller than the half duration of the minimal pass to handle, otherwise some short passes could be missed.

        Parameters:
        maxCheck - maximal checking interval (s)
        threshold - convergence threshold (s)
        occulted - the body to be occulted
        occultedRadius - the radius of the body to be occulted in meters
        occulting - the occulting body
        occultingRadius - the occulting body radius in meters
    • Method Detail

      • create

        protected FieldEclipseDetector<T> create​(T newMaxCheck,
                                                 T newThreshold,
                                                 int nawMaxIter,
                                                 FieldEventHandler<? super FieldEclipseDetector<T>,​T> newHandler)
        Build a new instance.
        Specified by:
        create in class FieldAbstractDetector<FieldEclipseDetector<T extends org.hipparchus.RealFieldElement<T>>,​T extends org.hipparchus.RealFieldElement<T>>
        Parameters:
        newMaxCheck - maximum checking interval (s)
        newThreshold - convergence threshold (s)
        nawMaxIter - maximum number of iterations in the event time search
        newHandler - event handler to call at event occurrences
        Returns:
        a new instance of the appropriate sub-type
      • withUmbra

        public FieldEclipseDetector<T> withUmbra()
        Setup the detector to full umbra detection.

        This will override a penumbra/umbra flag if it has been configured previously.

        Returns:
        a new detector with updated configuration (the instance is not changed)
        Since:
        6.1
        See Also:
        withPenumbra()
      • withPenumbra

        public FieldEclipseDetector<T> withPenumbra()
        Setup the detector to penumbra detection.

        This will override a penumbra/umbra flag if it has been configured previously.

        Returns:
        a new detector with updated configuration (the instance is not changed)
        Since:
        6.1
        See Also:
        withUmbra()
      • getOcculting

        public PVCoordinatesProvider getOcculting()
        Get the occulting body.
        Returns:
        the occulting body
      • getOccultingRadius

        public double getOccultingRadius()
        Get the occulting body radius (m).
        Returns:
        the occulting body radius
      • getOcculted

        public PVCoordinatesProvider getOcculted()
        Get the occulted body.
        Returns:
        the occulted body
      • getOccultedRadius

        public double getOccultedRadius()
        Get the occulted body radius (m).
        Returns:
        the occulted body radius
      • getTotalEclipse

        public boolean getTotalEclipse()
        Get the total eclipse detection flag.
        Returns:
        the total eclipse detection flag (true for umbra events detection, false for penumbra events detection)
      • g

        public T g​(FieldSpacecraftState<T> s)
        Compute the value of the switching function. This function becomes negative when entering the region of shadow and positive when exiting.
        Specified by:
        g in interface FieldEventDetector<T extends org.hipparchus.RealFieldElement<T>>
        Specified by:
        g in class FieldAbstractDetector<FieldEclipseDetector<T extends org.hipparchus.RealFieldElement<T>>,​T extends org.hipparchus.RealFieldElement<T>>
        Parameters:
        s - the current state information: date, kinematics, attitude
        Returns:
        value of the switching function