Class ElevationExtremumDetector

All Implemented Interfaces:
EventDetector

public class ElevationExtremumDetector extends AbstractTopocentricDetector<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 Details

    • ElevationExtremumDetector

      public ElevationExtremumDetector(TopocentricFrame topo)
      Build a new detector.

      The new instance uses default values for maximal checking interval (AbstractDetector.DEFAULT_MAX_CHECK) and convergence threshold (AbstractDetector.DEFAULT_THRESHOLD).

      Parameters:
      topo - topocentric frame centered on ground point
    • 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

      public ElevationExtremumDetector(EventDetectionSettings detectionSettings, EventHandler handler, TopocentricFrame topo)
      Build a detector.
      Parameters:
      detectionSettings - event detection settings
      handler - event handler to call at event occurrences
      topo - topocentric frame centered on ground point
    • ElevationExtremumDetector

      protected ElevationExtremumDetector(ElevationExtremumEventFunction eventFunction, EventDetectionSettings detectionSettings, EventHandler handler)
      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:
      eventFunction - event function
      detectionSettings - event detection settings
      handler - event handler to call at event occurrences
      Since:
      14.0
  • Method Details

    • create

      protected ElevationExtremumDetector create(EventDetectionSettings detectionSettings, EventHandler newHandler)
      Build a new instance.
      Specified by:
      create in class AbstractDetector<ElevationExtremumDetector>
      Parameters:
      detectionSettings - detection settings
      newHandler - event handler to call at event occurrences
      Returns:
      a new instance of the appropriate sub-type
    • 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