Interface EphemerisFile.EphemerisSegment<C extends TimeStampedPVCoordinates>

Type Parameters:
C - type of the Cartesian coordinates
All Known Implementing Classes:
CPF.CPFEphemeris, IIRVSegment, OemSegment, OrekitEphemerisFile.OrekitEphemerisSegment, SP3Segment, STKEphemerisFile.STKEphemerisSegment, TrajectoryStateHistory
Enclosing interface:
EphemerisFile<C extends TimeStampedPVCoordinates,S extends EphemerisFile.EphemerisSegment<C>>

public static interface EphemerisFile.EphemerisSegment<C extends TimeStampedPVCoordinates>
A segment of an ephemeris for a satellite.

Segments are typically used to split an ephemeris around discontinuous events such as maneuvers.

Author:
Evan Ward
See Also:
  • Method Details

    • getMu

      double getMu()
      Get the standard gravitational parameter for the satellite.
      Returns:
      the gravitational parameter used in getPropagator(AttitudeProvider), in m³/s².
    • getFrame

      Frame getFrame()
      Get the reference frame for this ephemeris segment. The defining frame for getCoordinates().
      Returns:
      the reference frame for this segment. Never null.
    • getInertialFrame

      default Frame getInertialFrame()
      Get the inertial reference frame for this ephemeris segment. Defines the propagation frame for getPropagator(AttitudeProvider).

      This implementation returns getFrame() if it is pseudo-inertial, or its closest ancestor that is pseudo-inertial. Implementors are encouraged to override this default implementation if a more suitable inertial frame is available.

      Returns:
      an reference frame that is inertial, i.e. Frame.isPseudoInertial() is true. May be the same as getFrame() if it is inertial.
    • getInterpolationSamples

      int getInterpolationSamples()
      Get the number of samples to use in interpolation.
      Returns:
      the number of points to use for interpolation.
    • getAvailableDerivatives

      CartesianDerivativesFilter getAvailableDerivatives()
      Get which derivatives of position are available in this ephemeris segment.

      While getCoordinates() always returns position, velocity, and acceleration the return value from this method indicates which of those are in the ephemeris file and are actually valid.

      Returns:
      a value indicating if the file contains velocity and/or acceleration data.
    • getCoordinates

      List<C> getCoordinates()
      Get the coordinates for this ephemeris segment in getFrame().
      Returns:
      a list of state vectors in chronological order. The coordinates are not necessarily evenly spaced in time. The value of getAvailableDerivatives() indicates if the velocity or accelerations were specified in the file. Any position, velocity, or acceleration coordinates that are not specified in the ephemeris file are zero in the returned values.
    • getStart

      AbsoluteDate getStart()
      Get the start date of this ephemeris segment.

      The date returned by this method is equivalent to getPropagator().getMinDate().

      Returns:
      ephemeris segment start date.
    • getStop

      AbsoluteDate getStop()
      Get the end date of this ephemeris segment.

      The date returned by this method is equivalent to getPropagator().getMaxDate().

      Returns:
      ephemeris segment end date.
    • getPropagator

      default BoundedPropagator getPropagator()
      View this ephemeris segment as a propagator.

      In order to view the ephemeris for this satellite as a Propagator several conditions must be met. An Orekit Frame must be constructable from the frame specification in the ephemeris file. This condition is met when getFrame() return normally. Additionally, getMu() must return a valid value. If these conditions are not met an OrekitException may be thrown by this method or by one of the methods of the returned Propagator.

      The attitude provider used is a FrameAlignedProvider aligned with the inertial frame

      Each call to this method creates a new propagator.

      Returns:
      a propagator for this ephemeris segment.
    • getPropagator

      default BoundedPropagator getPropagator(AttitudeProvider attitudeProvider)
      View this ephemeris segment as a propagator.

      In order to view the ephemeris for this satellite as a Propagator several conditions must be met. An Orekit Frame must be constructable from the frame specification in the ephemeris file. This condition is met when getFrame() return normally. Additionally, getMu() must return a valid value. If these conditions are not met an OrekitException may be thrown by this method or by one of the methods of the returned Propagator.

      Each call to this method creates a new propagator.

      Parameters:
      attitudeProvider - provider for attitude computation
      Returns:
      a propagator for this ephemeris segment.
      Since:
      12.0