Class OemSegment
- java.lang.Object
-
- org.orekit.files.ccsds.section.Segment<OemMetadata,OemData>
-
- org.orekit.files.ccsds.ndm.odm.oem.OemSegment
-
- All Implemented Interfaces:
EphemerisFile.EphemerisSegment<TimeStampedPVCoordinates>
public class OemSegment extends Segment<OemMetadata,OemData> implements EphemerisFile.EphemerisSegment<TimeStampedPVCoordinates>
The Ephemerides Blocks class contain metadata, the list of ephemerides data lines and optional covariance matrices (and their metadata). The reason for which the ephemerides have been separated into blocks is that the ephemerides of two different blocks are not suited for interpolation.- Author:
- sports
-
-
Constructor Summary
Constructors Constructor Description OemSegment(OemMetadata metadata, OemData data, double mu)
Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CartesianDerivativesFilter
getAvailableDerivatives()
Get which derivatives of position are available in this ephemeris segment.List<TimeStampedPVCoordinates>
getCoordinates()
Get the coordinates for this ephemeris segment inEphemerisFile.EphemerisSegment.getFrame()
.List<CartesianCovariance>
getCovarianceMatrices()
Get an unmodifiable view of Covariance Matrices.Frame
getFrame()
Get the reference frame for this ephemeris segment.Frame
getInertialFrame()
Get the inertial reference frame for this ephemeris segment.int
getInterpolationSamples()
Get the number of samples to use in interpolation.double
getMu()
Get the standard gravitational parameter for the satellite.AbsoluteDate
getStart()
Get the start date of this ephemeris segment.AbsoluteDate
getStop()
Get the end date of this ephemeris segment.-
Methods inherited from class org.orekit.files.ccsds.section.Segment
getData, getMetadata, setMetadata
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.files.general.EphemerisFile.EphemerisSegment
getPropagator, getPropagator
-
-
-
-
Constructor Detail
-
OemSegment
public OemSegment(OemMetadata metadata, OemData data, double mu)
Simple constructor.- Parameters:
metadata
- segment metadatadata
- segment datamu
- gravitational parameter in m³/s²
-
-
Method Detail
-
getMu
public double getMu()
Get the standard gravitational parameter for the satellite.- Specified by:
getMu
in interfaceEphemerisFile.EphemerisSegment<TimeStampedPVCoordinates>
- Returns:
- the gravitational parameter used in
EphemerisFile.EphemerisSegment.getPropagator(AttitudeProvider)
, in m³/s².
-
getCoordinates
public List<TimeStampedPVCoordinates> getCoordinates()
Get the coordinates for this ephemeris segment inEphemerisFile.EphemerisSegment.getFrame()
.- Specified by:
getCoordinates
in interfaceEphemerisFile.EphemerisSegment<TimeStampedPVCoordinates>
- Returns:
- a list of state vectors in chronological order. The coordinates are not
necessarily evenly spaced in time. The value of
EphemerisFile.EphemerisSegment.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.
-
getAvailableDerivatives
public CartesianDerivativesFilter getAvailableDerivatives()
Get which derivatives of position are available in this ephemeris segment.While
EphemerisFile.EphemerisSegment.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.- Specified by:
getAvailableDerivatives
in interfaceEphemerisFile.EphemerisSegment<TimeStampedPVCoordinates>
- Returns:
- a value indicating if the file contains velocity and/or acceleration data.
-
getCovarianceMatrices
public List<CartesianCovariance> getCovarianceMatrices()
Get an unmodifiable view of Covariance Matrices.- Returns:
- unmodifiable view of Covariance Matrices
-
getFrame
public Frame getFrame()
Get the reference frame for this ephemeris segment. The defining frame forEphemerisFile.EphemerisSegment.getCoordinates()
.- Specified by:
getFrame
in interfaceEphemerisFile.EphemerisSegment<TimeStampedPVCoordinates>
- Returns:
- the reference frame for this segment. Never
null
.
-
getInertialFrame
public Frame getInertialFrame()
Get the inertial reference frame for this ephemeris segment. Defines the propagation frame forEphemerisFile.EphemerisSegment.getPropagator(AttitudeProvider)
.The default implementation returns
EphemerisFile.EphemerisSegment.getFrame()
if it is inertial. Otherwise it returnsFrame.getRoot()
. Implementors are encouraged to override this default implementation if a more suitable inertial frame is available.This implementation returns
defining frame
if it ispseudo-inertial
, or its closestancestor
that is pseudo-inertial.- Specified by:
getInertialFrame
in interfaceEphemerisFile.EphemerisSegment<TimeStampedPVCoordinates>
- Returns:
- an reference frame that is inertial, i.e.
Frame.isPseudoInertial()
istrue
. May be the same asEphemerisFile.EphemerisSegment.getFrame()
if it is inertial.
-
getStart
public AbsoluteDate getStart()
Get the start date of this ephemeris segment.The date returned by this method is equivalent to
getPropagator().getMinDate()
.- Specified by:
getStart
in interfaceEphemerisFile.EphemerisSegment<TimeStampedPVCoordinates>
- Returns:
- ephemeris segment start date.
-
getStop
public AbsoluteDate getStop()
Get the end date of this ephemeris segment.The date returned by this method is equivalent to
getPropagator().getMaxDate()
.- Specified by:
getStop
in interfaceEphemerisFile.EphemerisSegment<TimeStampedPVCoordinates>
- Returns:
- ephemeris segment end date.
-
getInterpolationSamples
public int getInterpolationSamples()
Get the number of samples to use in interpolation.- Specified by:
getInterpolationSamples
in interfaceEphemerisFile.EphemerisSegment<TimeStampedPVCoordinates>
- Returns:
- the number of points to use for interpolation.
-
-