Class FieldApsideDetector<T extends CalculusFieldElement<T>>

java.lang.Object
org.orekit.propagation.events.FieldAbstractDetector<FieldApsideDetector<T>,T>
org.orekit.propagation.events.FieldApsideDetector<T>
Type Parameters:
T - type of the field elements
All Implemented Interfaces:
FieldEventDetector<T>

public class FieldApsideDetector<T extends CalculusFieldElement<T>> extends FieldAbstractDetector<FieldApsideDetector<T>,T>
Finder for apside crossing events.

This class finds apside crossing events (i.e. apogee or perigee crossing).

The default implementation behavior is to continue propagation at apogee crossing and to stop propagation at perigee crossing. This can be changed by calling FieldAbstractDetector.withHandler(FieldEventHandler) after construction.

Beware that apside detection will fail for almost circular orbits. If for example an apside detector is used to trigger an ImpulseManeuver and the maneuver change the orbit shape to circular, then the detector may completely fail just after the maneuver has been performed!

Author:
Luc Maisonobe
See Also:
  • Constructor Details

    • FieldApsideDetector

      public FieldApsideDetector(T keplerianPeriod)
      Build a new instance.

      The Keplerian period is used only to set an upper bound for the max check interval to period/3 and to set the convergence threshold.

      Parameters:
      keplerianPeriod - estimate of the Keplerian period
      Since:
      12.1
    • FieldApsideDetector

      public FieldApsideDetector(FieldOrbit<T> orbit)
      Build a new instance.

      The orbit is used only to set an upper bound for the max check interval to period/3 and to set the convergence threshold according to orbit size

      Parameters:
      orbit - initial orbit
    • FieldApsideDetector

      public FieldApsideDetector(T threshold, FieldOrbit<T> orbit)
      Build a new instance.

      The orbit is used only to set an upper bound for the max check interval to period/3

      Parameters:
      threshold - convergence threshold (s)
      orbit - initial orbit
    • FieldApsideDetector

      public FieldApsideDetector(FieldEventDetectionSettings<T> detectionSettings, FieldEventHandler<T> handler)
      Constructor.

      This constructor is public because otherwise all accessible ones would require an orbit.

      Parameters:
      detectionSettings - event detection settings
      handler - event handler to call at event occurrences
      Since:
      13.0
    • FieldApsideDetector

      protected FieldApsideDetector(ApsideEventFunction apsideEventFunction, FieldEventDetectionSettings<T> detectionSettings, FieldEventHandler<T> handler)
      Constructor with full parameters.
      Parameters:
      apsideEventFunction - event function
      detectionSettings - event detection settings
      handler - event handler to call at event occurrences
      Since:
      14.0
  • Method Details