Class FieldElevationExtremumDetector<T extends CalculusFieldElement<T>>

  • Type Parameters:
    T - type of the field element
    All Implemented Interfaces:
    FieldEventDetector<T>

    public class FieldElevationExtremumDetector<T extends CalculusFieldElement<T>>
    extends FieldAbstractDetector<FieldElevationExtremumDetector<T>,​T>
    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:
    12.0
    Author:
    Luc Maisonobe
    • Constructor Detail

      • FieldElevationExtremumDetector

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

        protected FieldElevationExtremumDetector​(FieldAdaptableInterval<T> maxCheck,
                                                 T threshold,
                                                 int maxIter,
                                                 FieldEventHandler<T> 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:
        maxCheck - maximum checking interval
        threshold - convergence threshold (s)
        maxIter - maximum number of iterations in the event time search
        handler - event handler to call at event occurrences
        topo - topocentric frame centered on ground point
    • Method Detail

      • getTopocentricFrame

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

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

        public T g​(FieldSpacecraftState<T> 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