Class AbstractParametricAcceleration

java.lang.Object
org.orekit.forces.empirical.AbstractParametricAcceleration
All Implemented Interfaces:
ForceModel, EventDetectorsProvider, ParameterDriversProvider
Direct Known Subclasses:
ParametricAcceleration, TimeSpanParametricAcceleration

public abstract class AbstractParametricAcceleration extends Object implements ForceModel
Abstract class for parametric acceleration.
Since:
13.0
Author:
Romain Serra
  • Constructor Details

    • AbstractParametricAcceleration

      protected AbstractParametricAcceleration(Vector3D direction, boolean isInertial, AttitudeProvider attitudeOverride)
      Constructor.
      Parameters:
      direction - direction of the acceleration
      isInertial - flag defining if the acceleration direction is already defined in inertial frame (true)
      attitudeOverride - override for the attitude provider.
  • Method Details

    • getAttitudeOverride

      public AttitudeProvider getAttitudeOverride()
      Getter for attitude override.
      Returns:
      attitude override
    • dependsOnPositionOnly

      public boolean dependsOnPositionOnly()
      Check if force model depends on position only at a given, fixed date.
      Specified by:
      dependsOnPositionOnly in interface ForceModel
      Returns:
      true if force model depends on position only, false if it depends on mass or velocity, either directly or due to a dependency on attitude
    • getAccelerationDirection

      protected Vector3D getAccelerationDirection(SpacecraftState state)
      Computes the acceleration's direction in the propagation frame.
      Parameters:
      state - state
      Returns:
      direction
    • getAccelerationDirection

      protected <T extends CalculusFieldElement<T>> FieldVector3D<T> getAccelerationDirection(FieldSpacecraftState<T> state)
      Computes the acceleration's direction in the propagation frame.
      Type Parameters:
      T - field type
      Parameters:
      state - state
      Returns:
      direction
    • getEventDetectors

      public 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.

      Specified by:
      getEventDetectors in interface EventDetectorsProvider
      Specified by:
      getEventDetectors in interface ForceModel
      Returns:
      stream of event detectors
    • getFieldEventDetectors

      public <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.

      Specified by:
      getFieldEventDetectors in interface EventDetectorsProvider
      Specified by:
      getFieldEventDetectors in interface ForceModel
      Type Parameters:
      T - extends CalculusFieldElement<T>
      Parameters:
      field - field to which the state belongs
      Returns:
      stream of event detectors