Class ElevationExtremumDetector

  • All Implemented Interfaces:
    Serializable, EventDetector

    public class ElevationExtremumDetector
    extends AbstractDetector<ElevationExtremumDetector>
    Detector for elevation extremum with respect to a ground point.

    This detector identifies when a spacecraft reaches its extremum elevation with respect to a ground point.

    As in most cases only the elevation maximum is needed and the minimum is often irrelevant, this detector is often wrapped into an event slope filter configured with FilterType.TRIGGER_ONLY_DECREASING_EVENTS (i.e. when the elevation derivative decreases from positive values to negative values, which correspond to a maximum). Setting up this filter saves some computation time as the elevation minimum occurrences are not even looked at. It is however still often necessary to do an additional filtering

    Since:
    7.1
    Author:
    Luc Maisonobe
    See Also:
    Serialized Form
    • Constructor Detail

      • ElevationExtremumDetector

        public ElevationExtremumDetector​(double maxCheck,
                                         double threshold,
                                         TopocentricFrame topo)
        Build a detector.
        Parameters:
        maxCheck - maximal checking interval (s)
        threshold - convergence threshold (s)
        topo - topocentric frame centered on ground point
    • Method Detail

      • create

        protected ElevationExtremumDetector create​(double newMaxCheck,
                                                   double newThreshold,
                                                   int newMaxIter,
                                                   EventHandler<? super ElevationExtremumDetector> newHandler)
        Build a new instance.
        Specified by:
        create in class AbstractDetector<ElevationExtremumDetector>
        Parameters:
        newMaxCheck - maximum checking interval (s)
        newThreshold - convergence threshold (s)
        newMaxIter - 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
      • getTopocentricFrame

        public TopocentricFrame getTopocentricFrame()
        Returns the topocentric frame centered on ground point.
        Returns:
        topocentric frame centered on ground point
      • getElevation

        public double getElevation​(SpacecraftState s)
        Get the elevation value.
        Parameters:
        s - the current state information: date, kinematics, attitude
        Returns:
        spacecraft elevation
      • g

        public double g​(SpacecraftState s)
        Compute the value of the detection function.

        The value is the spacecraft elevation first time derivative.

        Specified by:
        g in interface EventDetector
        Specified by:
        g in class AbstractDetector<ElevationExtremumDetector>
        Parameters:
        s - the current state information: date, kinematics, attitude
        Returns:
        spacecraft elevation first time derivative