Class FieldAngularSeparationDetector<T extends CalculusFieldElement<T>>

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

    public class FieldAngularSeparationDetector<T extends CalculusFieldElement<T>>
    extends FieldAbstractDetector<FieldAngularSeparationDetector<T>,​T>
    Detects when spacecraft comes close to a moving beacon, as seen from a moving observer.

    The main use case for this detector is when the observer is in fact a ground station, modeled as a TopocentricFrame and when the beacon is the Sun, for computing interferences for the telemetry link. Another similar case is when the beacon is another spacecraft, for interferences computation.

    The default handler behavior is to stop propagation when spacecraft enters the proximity zone. This can be changed by calling #withHandler(EventHandler) after construction.

    Since:
    13.1
    Author:
    Luc Maisonobe, Romain Serra
    See Also:
    Propagator.addEventDetector(EventDetector), AngularSeparationDetector
    • Constructor Detail

      • FieldAngularSeparationDetector

        public FieldAngularSeparationDetector​(ExtendedPositionProvider beacon,
                                              ExtendedPositionProvider observer,
                                              T proximityAngle)
        Build a new angular separation detector.
        Parameters:
        beacon - beacon at the center of the proximity zone
        observer - observer for the spacecraft, that may also see the beacon at the same time if they are too close to each other
        proximityAngle - proximity angle as seen from observer, at which events are triggered (rad)
      • FieldAngularSeparationDetector

        protected FieldAngularSeparationDetector​(FieldEventDetectionSettings<T> detectionSettings,
                                                 FieldEventHandler<T> handler,
                                                 ExtendedPositionProvider beacon,
                                                 ExtendedPositionProvider observer,
                                                 T proximityAngle)
        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
        beacon - beacon at the center of the proximity zone
        observer - observer for the spacecraft, that may also see the beacon at the same time if they are too close to each other
        proximityAngle - proximity angle as seen from observer, at which events are triggered (rad)
        Since:
        13.0