Class AbstractLightFluxModel

java.lang.Object
org.orekit.forces.radiation.AbstractLightFluxModel
All Implemented Interfaces:
LightFluxModel
Direct Known Subclasses:
AbstractSolarLightFluxModel

public abstract class AbstractLightFluxModel extends Object implements LightFluxModel
Abstract class for light flux models. Via the definition of the lighting ratio and the unocculted flux vector, derives the final value.
Since:
12.1
Author:
Romain Serra
See Also:
  • Constructor Details

    • AbstractLightFluxModel

      protected AbstractLightFluxModel(ExtendedPositionProvider occultedBody)
      Constructor.
      Parameters:
      occultedBody - position provider for light source
  • Method Details

    • getOccultedBody

      public ExtendedPositionProvider getOccultedBody()
      Getter for the occulted body's position provider.
      Returns:
      occulted body
    • getLightFluxVector

      public Vector3D getLightFluxVector(SpacecraftState state)
      Get the light flux vector in the state's frame.
      Specified by:
      getLightFluxVector in interface LightFluxModel
      Parameters:
      state - state
      Returns:
      light flux
    • getLightFluxVector

      public <T extends CalculusFieldElement<T>> FieldVector3D<T> getLightFluxVector(FieldSpacecraftState<T> state)
      Get the light flux vector in the state's frame. Field version.
      Specified by:
      getLightFluxVector in interface LightFluxModel
      Type Parameters:
      T - field type
      Parameters:
      state - state
      Returns:
      light flux
    • getOccultedBodyPosition

      protected Vector3D getOccultedBodyPosition(AbsoluteDate date, Frame frame)
      Method computing the occulted body's position at a given date and frame.
      Parameters:
      date - date
      frame - frame
      Returns:
      position
    • getOccultedBodyPosition

      protected <T extends CalculusFieldElement<T>> FieldVector3D<T> getOccultedBodyPosition(FieldAbsoluteDate<T> date, Frame frame)
      Method computing the occulted body's position at a given date and frame. Field version.
      Type Parameters:
      T - field type
      Parameters:
      date - date
      frame - frame
      Returns:
      position
    • getUnoccultedFluxVector

      protected abstract Vector3D getUnoccultedFluxVector(Vector3D relativePosition)
      Get the light flux vector, not considering any shadowing effect.
      Parameters:
      relativePosition - relative position w.r.t. light source
      Returns:
      unocculted flux
    • getUnoccultedFluxVector

      protected abstract <T extends CalculusFieldElement<T>> FieldVector3D<T> getUnoccultedFluxVector(FieldVector3D<T> relativePosition)
      Get the light flux vector, not considering any shadowing effect. Field version.
      Type Parameters:
      T - field type
      Parameters:
      relativePosition - relative position w.r.t. light source
      Returns:
      unocculted flux
    • getLightingRatio

      public double getLightingRatio(SpacecraftState state)
      Get the lighting ratio ([0-1]).
      Parameters:
      state - state
      Returns:
      lighting ratio
    • getLightingRatio

      protected abstract double getLightingRatio(Vector3D position, Vector3D occultedBodyPosition)
      Get the lighting ratio ([0-1]).
      Parameters:
      position - object's position
      occultedBodyPosition - occulted body position in same frame
      Returns:
      lighting ratio
    • getLightingRatio

      public <T extends CalculusFieldElement<T>> T getLightingRatio(FieldSpacecraftState<T> state)
      Get the lighting ratio ([0-1]).
      Type Parameters:
      T - field type
      Parameters:
      state - state
      Returns:
      lighting ratio
    • getLightingRatio

      protected abstract <T extends CalculusFieldElement<T>> T getLightingRatio(FieldVector3D<T> position, FieldVector3D<T> occultedBodyPosition)
      Get the lighting ratio ([0-1]). Field version.
      Type Parameters:
      T - field type
      Parameters:
      position - object's position
      occultedBodyPosition - occulted body position in same frame
      Returns:
      lighting ratio