Interface EventDetectorsProvider

All Known Subinterfaces:
AttitudeProvider, AttitudeProviderModifier, BoundedAttitudeProvider, DSSTForceModel, ForceModel, ForceModelModifier, GNSSAttitudeProvider, ManeuverTriggers, PropulsionModel, RadiationForceModel, ResettableManeuverTriggers, ThrustPropulsionModel
All Known Implementing Classes:
AbstractBodyAttraction, AbstractConstantThrustPropulsionModel, AbstractDragForceModel, AbstractGaussianContribution, AbstractManeuverTriggers, AbstractParametricAcceleration, AbstractRadiationForceModel, AggregateBoundedAttitudeProvider, AlignedAndConstrained, AttitudesSequence, AttitudesSwitcher, BasicConstantThrustPropulsionModel, BeidouGeo, BeidouIGSO, BeidouMeo, BodyCenterPointing, CelestialBodyPointed, ConstantThrustManeuver, CR3BPForceModel, DateBasedManeuverTriggers, DeSitterRelativity, DragForce, DSSTAtmosphericDrag, DSSTJ2SquaredClosedForm, DSSTNewtonianAttraction, DSSTSolarRadiationPressure, DSSTTesseral, DSSTThirdBody, DSSTZonal, ECOM2, FixedRate, FrameAlignedProvider, Galileo, GenericGNSS, Glonass, GPSBlockIIA, GPSBlockIIF, GPSBlockIIR, GroundPointing, GroundPointingAttitudeModifier, HolmesFeatherstoneAttractionModel, InertialForces, IntervalEventTrigger, J2OnlyPerturbation, KnockeRediffusedForceModel, LenseThirringRelativity, LofOffset, LofOffsetPointing, Maneuver, NadirPointing, NewtonianAttraction, OceanTides, ParametricAcceleration, ProfileThrustPropulsionModel, RadiationPressureModel, Relativity, ScaledConstantThrustPropulsionModel, SingleBodyAbsoluteAttraction, SingleBodyRelativeAttraction, SolarRadiationPressure, SolidTides, SphericalConstantThrustPropulsionModel, SpinStabilized, StartStopEventsTrigger, TabulatedLofOffset, TabulatedProvider, TargetPointing, ThirdBodyAttraction, ThirdBodyAttractionEpoch, TimeIntervalsManeuverTrigger, TimeSpanDragForce, TimeSpanParametricAcceleration, TorqueFree, YawCompensation, YawSteering

public interface EventDetectorsProvider
Interface for building event detectors for force models and maneuver parameters.

Objects implementing this interface are mainly ForceModel and DSSTForceModel.

Since:
12.0
Author:
Luc Maisonobe, Melina Vanel, Maxime Journot
  • Field Details

    • DATATION_ACCURACY

      static final double DATATION_ACCURACY
      Accuracy of switching events dates (s).
      See Also:
  • Method Details

    • getEventDetectors

      Stream<EventDetector> getEventDetectors()
      Get the discrete events related to the model.

      This method is not intended to be called several time, only once by a propagator, as it has the side effect of rebuilding the events detectors when called

      Returns:
      stream of event detectors
    • getFieldEventDetectors

      <T extends CalculusFieldElement<T>> Stream<FieldEventDetector<T>> getFieldEventDetectors(Field<T> field)
      Get the discrete events related to the model.

      This method is not intended to be called several time, only once by a propagator, as it has the side effect of rebuilding the events detectors when called

      Type Parameters:
      T - extends CalculusFieldElement<T>
      Parameters:
      field - field to which the state belongs
      Returns:
      stream of event detectors
    • getEventDetectors

      default Stream<EventDetector> getEventDetectors(List<ParameterDriver> parameterDrivers)
      Get the discrete events related to the model from a list of ParameterDriver

      Date detectors are used to cleanly stop the propagator and reset the state derivatives at transition dates (if any) of the parameter drivers.

      This method is not intended to be called several times, only once by a propagator, as it has the side effect of rebuilding the events detectors when called.

      Parameters:
      parameterDrivers - list of parameter drivers
      Returns:
      stream of event detectors
    • getFieldEventDetectors

      default <T extends CalculusFieldElement<T>> Stream<FieldEventDetector<T>> getFieldEventDetectors(Field<T> field, List<ParameterDriver> parameterDrivers)
      Get the discrete events related to the model from a list of ParameterDriver

      Date detectors are used to cleanly stop the propagator and reset the state derivatives at transition dates (if any) of the parameter drivers.

      This method is not intended to be called several times, only once by a propagator, as it has the side effect of rebuilding the events detectors when called.

      Type Parameters:
      T - extends CalculusFieldElement<T>
      Parameters:
      field - field to which the state belongs
      parameterDrivers - list of parameter drivers
      Returns:
      stream of event detectors
    • getDateDetector

      default DateDetector getDateDetector(TimeStamped... timeStampeds)
      Method building dates' detector.
      Parameters:
      timeStampeds - dates to detect
      Returns:
      dates detector
      Since:
      13.0
    • getFieldDateDetector

      default <T extends CalculusFieldElement<T>> FieldDateDetector<T> getFieldDateDetector(Field<T> field, TimeStamped... timeStampeds)
      Method building dates' detector.
      Type Parameters:
      T - field type
      Parameters:
      field - field
      timeStampeds - dates to detect
      Returns:
      dates detector
      Since:
      13.0