Class ElevationExtremumDetector

  • All Implemented Interfaces:
    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
    • 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
      • ElevationExtremumDetector

        protected ElevationExtremumDetector​(EventDetectionSettings detectionSettings,
                                            EventHandler handler,
                                            TopocentricFrame topo)
        Protected constructor with full parameters.

        This constructor is not public as users are expected to use the builder API with the various withXxx() methods to set up the instance in a readable manner without using a huge amount of parameters.

        Parameters:
        detectionSettings - event detection settings
        handler - event handler to call at event occurrences
        topo - topocentric frame centered on ground point
        Since:
        13.0
    • Method Detail

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

        Parameters:
        s - the current state information: date, kinematics, attitude
        Returns:
        spacecraft elevation first time derivative