Class ElevationDetector

  • All Implemented Interfaces:
    EventDetector

    public class ElevationDetector
    extends AbstractDetector<ElevationDetector>
    Finder for satellite raising/setting events that allows for the setting of azimuth and/or elevation bounds or a ground azimuth/elevation mask input. Each calculation be configured to use atmospheric refraction as well.

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

    Since:
    6.1
    Author:
    Hank Grabowski
    • Method Detail

      • create

        protected ElevationDetector create​(AdaptableInterval newMaxCheck,
                                           double newThreshold,
                                           int newMaxIter,
                                           EventHandler newHandler)
        Build a new instance.
        Specified by:
        create in class AbstractDetector<ElevationDetector>
        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 currently configured topocentric frame definitions.
        Returns:
        topocentric frame definition
      • g

        public double g​(SpacecraftState s)
        Compute the value of the switching function. This function measures the difference between the current elevation (and azimuth if necessary) and the reference mask or minimum value.
        Parameters:
        s - the current state information: date, kinematics, attitude
        Returns:
        value of the switching function
      • withConstantElevation

        public ElevationDetector withConstantElevation​(double newMinElevation)
        Setup the minimum elevation for detection.

        This will override an elevation mask if it has been configured as such previously.

        Parameters:
        newMinElevation - minimum elevation for visibility in radians (rad)
        Returns:
        a new detector with updated configuration (the instance is not changed)
        Since:
        6.1
        See Also:
        getMinElevation()
      • withElevationMask

        public ElevationDetector withElevationMask​(ElevationMask newElevationMask)
        Setup the elevation mask for detection using the passed in mask object.
        Parameters:
        newElevationMask - elevation mask to use for the computation
        Returns:
        a new detector with updated configuration (the instance is not changed)
        Since:
        6.1
        See Also:
        getElevationMask()
      • withRefraction

        public ElevationDetector withRefraction​(AtmosphericRefractionModel newRefractionModel)
        Setup the elevation detector to use an atmospheric refraction model in its calculations.

        To disable the refraction when copying an existing elevation detector, call this method with a null argument.

        Parameters:
        newRefractionModel - refraction model to use for the computation
        Returns:
        a new detector with updated configuration (the instance is not changed)
        Since:
        6.1
        See Also:
        getRefractionModel()