Class FieldEclipseDetector<T extends CalculusFieldElement<T>>

    • Constructor Detail

      • FieldEclipseDetector

        protected FieldEclipseDetector​(FieldEventDetectionSettings<T> detectionSettings,
                                       FieldEventHandler<T> handler,
                                       OccultationEngine occultationEngine,
                                       T margin,
                                       boolean totalEclipse)
        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 - event detection settings
        handler - event handler to call at event occurrences
        occultationEngine - occultation engine
        margin - to apply to eclipse angle (rad)
        totalEclipse - umbra (true) or penumbra (false) detection flag
        Since:
        13.0
    • Method Detail

      • withUmbra

        public FieldEclipseDetector<T> withUmbra()
        Setup the detector to full umbra detection.

        This will override a penumbra/umbra flag if it has been configured previously.

        Returns:
        a new detector with updated configuration (the instance is not changed)
        Since:
        6.1
        See Also:
        withPenumbra()
      • withPenumbra

        public FieldEclipseDetector<T> withPenumbra()
        Setup the detector to penumbra detection.

        This will override a penumbra/umbra flag if it has been configured previously.

        Returns:
        a new detector with updated configuration (the instance is not changed)
        Since:
        6.1
        See Also:
        withUmbra()
      • withMargin

        public FieldEclipseDetector<T> withMargin​(T newMargin)
        Setup a margin to angle detection.

        A positive margin implies eclipses are "larger" hence entry occurs earlier and exit occurs later than a detector with 0 margin.

        Parameters:
        newMargin - angular margin to apply to eclipse detection (rad)
        Returns:
        a new detector with updated configuration (the instance is not changed)
        Since:
        12.0
      • getMargin

        public T getMargin()
        Get the angular margin used for eclipse detection.
        Returns:
        angular margin used for eclipse detection (rad)
        Since:
        12.0
      • getOccultationEngine

        public OccultationEngine getOccultationEngine()
        Get the occultation engine.
        Returns:
        occultation engine
        Since:
        12.0
      • getTotalEclipse

        public boolean getTotalEclipse()
        Get the total eclipse detection flag.
        Returns:
        the total eclipse detection flag (true for umbra events detection, false for penumbra events detection)
      • g

        public T g​(FieldSpacecraftState<T> s)
        Compute the value of the switching function. This function becomes negative when entering the region of shadow and positive when exiting.
        Parameters:
        s - the current state information: date, kinematics, attitude
        Returns:
        value of the switching function