Class AltitudeDetector

All Implemented Interfaces:
EventDetector

public class AltitudeDetector extends AbstractGeographicalDetector<AltitudeDetector>
Finder for satellite altitude crossing events.

This class finds altitude events (i.e. satellite crossing a predefined altitude level above ground).

The default implementation behavior is to continue propagation when ascending and to stop propagation when descending. This can be changed by calling AbstractDetector.withHandler(EventHandler) after construction.

Author:
Luc Maisonobe
See Also:
  • Constructor Details

    • AltitudeDetector

      public AltitudeDetector(double altitude, BodyShape bodyShape)
      Build a new altitude detector.

      This simple constructor takes default values for maximal checking interval (AbstractDetector.DEFAULT_MAX_CHECK) and convergence threshold (AbstractDetector.DEFAULT_THRESHOLD).

      Parameters:
      altitude - threshold altitude value
      bodyShape - body shape with respect to which altitude should be evaluated
    • AltitudeDetector

      public AltitudeDetector(double maxCheck, double altitude, BodyShape bodyShape)
      Build a new altitude detector.

      This simple constructor takes default value for convergence threshold (AbstractDetector.DEFAULT_THRESHOLD).

      The maximal interval between altitude 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)
      altitude - threshold altitude value (m)
      bodyShape - body shape with respect to which altitude should be evaluated
    • AltitudeDetector

      public AltitudeDetector(double maxCheck, double threshold, double altitude, BodyShape bodyShape)
      Build a new altitude detector.

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

      The maximal interval between altitude 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)
      altitude - threshold altitude value (m)
      bodyShape - body shape with respect to which altitude should be evaluated
    • AltitudeDetector

      protected AltitudeDetector(EventDetectionSettings detectionSettings, EventHandler handler, double altitude, BodyShape bodyShape)
      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 - detection settings
      handler - event handler to call at event occurrences
      altitude - threshold altitude value (m)
      bodyShape - body shape with respect to which altitude should be evaluated
      Since:
      13.0
  • Method Details

    • create

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

      public double getAltitude()
      Get the threshold altitude value.
      Returns:
      the threshold altitude value (m)
    • g

      public double g(SpacecraftState s)
      Compute the value of the switching function. This function measures the difference between the current altitude and the threshold altitude.
      Parameters:
      s - the current state information: date, kinematics, attitude
      Returns:
      value of the switching function