Class TdmMetadata

All Implemented Interfaces:
Section

public class TdmMetadata extends Metadata
The TDMMetadata class gathers the meta-data present in the Tracking Data Message (TDM).

References:

CCSDS 503.0-B-1 recommended standard. §3.3 ("Tracking Data Message", Blue Book, Version 1.0, November 2007).

Since:
9.0
Author:
Maxime Journot
  • Constructor Details

    • TdmMetadata

      public TdmMetadata(CcsdsFrameMapper frameMapper)
      Create a new TDM meta-data.
      Parameters:
      frameMapper - for creating an Orekit Frame.
      Since:
      13.1.5
  • Method Details

    • validate

      public void validate(double version)
      Check is all mandatory entries have been initialized.

      This method should throw an exception if some mandatory entries are missing or not compatible with version number.

      Specified by:
      validate in interface Section
      Overrides:
      validate in class Metadata
      Parameters:
      version - format version
    • getTrackId

      public String getTrackId()
      Getter for the tracking data identifier.
      Returns:
      tracking data identifier
    • setTrackId

      public void setTrackId(String trackId)
      Setter for the tracking data identifier.
      Parameters:
      trackId - tracking data identifier
    • getDataTypes

      public List<ObservationType> getDataTypes()
      Getter for the data types in the data section.
      Returns:
      data types in the data section
    • setDataTypes

      public void setDataTypes(List<ObservationType> dataTypes)
      Setter for the data types in the data section.
      Parameters:
      dataTypes - data types in the data section
    • getStartTime

      public AbsoluteDate getStartTime()
      Getter for the startTime.
      Returns:
      the startTime
    • setStartTime

      public void setStartTime(AbsoluteDate startTime)
      Setter for the startTime.
      Parameters:
      startTime - the startTime to set
    • getStopTime

      public AbsoluteDate getStopTime()
      Getter for the stopTime.
      Returns:
      the stopTime
    • setStopTime

      public void setStopTime(AbsoluteDate stopTime)
      Setter for the stopTime.
      Parameters:
      stopTime - the stopTime to set
    • getParticipants

      public Map<Integer,String> getParticipants()
      Getter for the participants.
      Returns:
      the participants
    • setParticipants

      public void setParticipants(Map<Integer,String> participants)
      Setter for the participants.
      Parameters:
      participants - the participants to set
    • addParticipant

      public void addParticipant(int participantNumber, String participant)
      Adds a participant to the list.
      Parameters:
      participantNumber - the number of the participant to add
      participant - the name of the participant to add
    • getMode

      public TrackingMode getMode()
      Getter for the mode.
      Returns:
      the mode
    • setMode

      public void setMode(TrackingMode mode)
      Setter for the mode.
      Parameters:
      mode - the mode to set
    • getPath

      public int[] getPath()
      Getter for the path.
      Returns:
      the path
    • setPath

      public void setPath(int[] path)
      Setter for the path.
      Parameters:
      path - the path to set
    • getPath1

      public int[] getPath1()
      Getter for the path1.
      Returns:
      the path1
    • setPath1

      public void setPath1(int[] path1)
      Setter for the path1.
      Parameters:
      path1 - the path1 to set
    • getPath2

      public int[] getPath2()
      Getter for the path2.
      Returns:
      the path2
    • setPath2

      public void setPath2(int[] path2)
      Setter for the path2.
      Parameters:
      path2 - the path2 to set
    • getEphemerisNames

      public Map<Integer,String> getEphemerisNames()
      Getter for external ephemeris names for participants.
      Returns:
      external ephemeris names for participants
    • setEphemerisNames

      public void setEphemerisNames(Map<Integer,String> ephemerisNames)
      Setter for the external ephemeris names for participants.
      Parameters:
      ephemerisNames - external ephemeris names for participants
    • addEphemerisName

      public void addEphemerisName(int participantNumber, String ephemerisName)
      Adds an ephemeris name to the list.
      Parameters:
      participantNumber - the number of the participant
      ephemerisName - name of the ephemeris for the participant
    • getTransmitBand

      public String getTransmitBand()
      Getter for the transmitBand.
      Returns:
      the transmitBand
    • setTransmitBand

      public void setTransmitBand(String transmitBand)
      Setter for the transmitBand.
      Parameters:
      transmitBand - the transmitBand to set
    • getReceiveBand

      public String getReceiveBand()
      Getter for the receiveBand.
      Returns:
      the receiveBand
    • setReceiveBand

      public void setReceiveBand(String receiveBand)
      Setter for the receiveBand.
      Parameters:
      receiveBand - the receiveBand to set
    • getTurnaroundNumerator

      public int getTurnaroundNumerator()
      Getter for the turnaroundNumerator.
      Returns:
      the turnaroundNumerator
    • setTurnaroundNumerator

      public void setTurnaroundNumerator(int turnaroundNumerator)
      Setter for the turnaroundNumerator.
      Parameters:
      turnaroundNumerator - the turnaroundNumerator to set
    • getTurnaroundDenominator

      public int getTurnaroundDenominator()
      Getter for the turnaroundDenominator.
      Returns:
      the turnaroundDenominator
    • setTurnaroundDenominator

      public void setTurnaroundDenominator(int turnaroundDenominator)
      Setter for the turnaroundDenominator.
      Parameters:
      turnaroundDenominator - the turnaroundDenominator to set
    • getTimetagRef

      public TimetagReference getTimetagRef()
      Getter for the timetagRef.
      Returns:
      the timetagRef
    • setTimetagRef

      public void setTimetagRef(TimetagReference timetagRef)
      Setter for the timetagRef.
      Parameters:
      timetagRef - the timetagRef to set
    • getIntegrationInterval

      public double getIntegrationInterval()
      Getter for the integrationInterval.
      Returns:
      the integrationInterval
    • setIntegrationInterval

      public void setIntegrationInterval(double integrationInterval)
      Setter for the integrationInterval.
      Parameters:
      integrationInterval - the integrationInterval to set
    • getIntegrationRef

      public IntegrationReference getIntegrationRef()
      Getter for the integrationRef.
      Returns:
      the integrationRef
    • setIntegrationRef

      public void setIntegrationRef(IntegrationReference integrationRef)
      Setter for the integrationRef.
      Parameters:
      integrationRef - the integrationRef to set
    • getFreqOffset

      public double getFreqOffset()
      Getter for the freqOffset.
      Returns:
      the freqOffset
    • setFreqOffset

      public void setFreqOffset(double freqOffset)
      Setter for the freqOffset.
      Parameters:
      freqOffset - the freqOffset to set
    • getRangeMode

      public RangeMode getRangeMode()
      Getter for the rangeMode.
      Returns:
      the rangeMode
    • setRangeMode

      public void setRangeMode(RangeMode rangeMode)
      Setter for the rangeMode.
      Parameters:
      rangeMode - the rangeMode to set
    • getRangeModulus

      public double getRangeModulus(RangeUnitsConverter converter)
      Getter for the range modulus in meters.
      Parameters:
      converter - converter to use if range units are set to RangeUnits.RU
      Returns:
      the range modulus in meters
    • getRawRangeModulus

      public double getRawRangeModulus()
      Getter for the raw range modulus.
      Returns:
      the raw range modulus in range units
    • setRawRangeModulus

      public void setRawRangeModulus(double rawRangeModulus)
      Setter for the raw range modulus.
      Parameters:
      rawRangeModulus - the raw range modulus to set
    • getRangeUnits

      public RangeUnits getRangeUnits()
      Getter for the rangeUnits.
      Returns:
      the rangeUnits
    • setRangeUnits

      public void setRangeUnits(RangeUnits rangeUnits)
      Setter for the rangeUnits.
      Parameters:
      rangeUnits - the rangeUnits to set
    • getAngleType

      public AngleType getAngleType()
      Getter for angleType.
      Returns:
      the angleType
    • setAngleType

      public void setAngleType(AngleType angleType)
      Setter for the angleType.
      Parameters:
      angleType - the angleType to set
    • getReferenceFrame

      public FrameFacade getReferenceFrame()
      Get the the value of REFERENCE_FRAME as an Orekit Frame.
      Returns:
      The reference frame specified by the REFERENCE_FRAME keyword.
      See Also:
    • setReferenceFrame

      public void setReferenceFrame(FrameFacade referenceFrame)
      Set the reference frame in which data are given: used for RADEC tracking data.
      Parameters:
      referenceFrame - the reference frame to be set
    • getRadecFrame

      public Frame getRadecFrame()
      Get the reference frame used right ascension and declination measurements.

      Note that CCSDS 503 says "The origin (center) of the reference frame is assumed to be at the antenna reference point", but since the TDM does not provide the location of the antenna reference point the returned frame is not centered at the antenna reference point. Therefore, only the orientation of the returned frame is significant.

      Returns:
      Orientation of the frame used for RADEC observations.
      Since:
      13.1.5
      See Also:
    • getInterpolationMethod

      public String getInterpolationMethod()
      Get the interpolation method to be used.
      Returns:
      the interpolation method
    • setInterpolationMethod

      public void setInterpolationMethod(String interpolationMethod)
      Set the interpolation method to be used.
      Parameters:
      interpolationMethod - the interpolation method to be set
    • getInterpolationDegree

      public int getInterpolationDegree()
      Get the interpolation degree.
      Returns:
      the interpolation degree
    • setInterpolationDegree

      public void setInterpolationDegree(int interpolationDegree)
      Set the interpolation degree.
      Parameters:
      interpolationDegree - the interpolation degree to be set
    • getDopplerCountBias

      public double getDopplerCountBias()
      Get the Doppler count bias.
      Returns:
      the Doppler count bias in Hz
    • setDopplerCountBias

      public void setDopplerCountBias(double dopplerCountBias)
      Set the Doppler count bias.
      Parameters:
      dopplerCountBias - Doppler count bias in Hz to set
    • getDopplerCountScale

      public double getDopplerCountScale()
      Get the Doppler count scale.
      Returns:
      the Doppler count scale
    • setDopplerCountScale

      public void setDopplerCountScale(double dopplerCountScale)
      Set the Doppler count Scale.
      Parameters:
      dopplerCountScale - Doppler count scale to set
    • hasDopplerCountRollover

      public boolean hasDopplerCountRollover()
      Check if there is a Doppler count rollover.
      Returns:
      true if there is a Doppler count rollover
    • setDopplerCountRollover

      public void setDopplerCountRollover(boolean dopplerCountRollover)
      Set the indicator for Doppler count rollover.
      Parameters:
      dopplerCountRollover - indicator for Doppler count rollover
    • getTransmitDelays

      public Map<Integer,Double> getTransmitDelays()
      Getter for the transmitDelays.
      Returns:
      the transmitDelays
    • setTransmitDelays

      public void setTransmitDelays(Map<Integer,Double> transmitDelays)
      Setter for the transmitDelays.
      Parameters:
      transmitDelays - the transmitDelays to set
    • addTransmitDelay

      public void addTransmitDelay(int participantNumber, double transmitDelay)
      Adds a transmit delay to the list.
      Parameters:
      participantNumber - the number of the participants for which the transmit delay is given
      transmitDelay - the transmit delay value to add
    • getReceiveDelays

      public Map<Integer,Double> getReceiveDelays()
      Getter for receiveDelays.
      Returns:
      the receiveDelays
    • setReceiveDelays

      public void setReceiveDelays(Map<Integer,Double> receiveDelays)
      Setter for the receiveDelays.
      Parameters:
      receiveDelays - the receiveDelays to set
    • addReceiveDelay

      public void addReceiveDelay(int participantNumber, double receiveDelay)
      Adds a receive delay to the list.
      Parameters:
      participantNumber - the number of the participants for which the receive delay is given
      receiveDelay - the receive delay value to add
    • getDataQuality

      public DataQuality getDataQuality()
      Getter for the dataQuality.
      Returns:
      the dataQuality
    • setDataQuality

      public void setDataQuality(DataQuality dataQuality)
      Setter for the dataQuality.
      Parameters:
      dataQuality - the dataQuality to set
    • getCorrectionAngle1

      public double getCorrectionAngle1()
      Getter for the correctionAngle1.
      Returns:
      the correctionAngle1 (in radians)
    • setCorrectionAngle1

      public void setCorrectionAngle1(double correctionAngle1)
      Setter for the correctionAngle1.
      Parameters:
      correctionAngle1 - the correctionAngle1 to set (in radians)
    • getCorrectionAngle2

      public double getCorrectionAngle2()
      Getter for the correctionAngle2.
      Returns:
      the correctionAngle2 (in radians)
    • setCorrectionAngle2

      public void setCorrectionAngle2(double correctionAngle2)
      Setter for the correctionAngle2.
      Parameters:
      correctionAngle2 - the correctionAngle2 to set (in radians)
    • getCorrectionDoppler

      public double getCorrectionDoppler()
      Getter for the correctionDoppler.
      Returns:
      the correctionDoppler (in m/s)
    • setCorrectionDoppler

      public void setCorrectionDoppler(double correctionDoppler)
      Setter for the correctionDoppler.
      Parameters:
      correctionDoppler - the correctionDoppler to set (in m/s)
    • getCorrectionMagnitude

      public double getCorrectionMagnitude()
      Getter for the magnitude correction.
      Returns:
      the magnitude correction
    • setCorrectionMagnitude

      public void setCorrectionMagnitude(double correctionMagnitude)
      Setter for the magnitude correction.
      Parameters:
      correctionMagnitude - the magnitude correction to set
    • getCorrectionRange

      public double getCorrectionRange(RangeUnitsConverter converter)
      Getter for the raw correction for range in meters.
      Parameters:
      converter - converter to use if range units are set to RangeUnits.RU
      Returns:
      the raw correction for range in meters
    • getRawCorrectionRange

      public double getRawCorrectionRange()
      Getter for the raw correction for range.
      Returns:
      the raw correction for range (in getRangeUnits())
    • setRawCorrectionRange

      public void setRawCorrectionRange(double rawCorrectionRange)
      Setter for the raw correction for range.
      Parameters:
      rawCorrectionRange - the raw correction for range to set (in getRangeUnits())
    • getCorrectionRcs

      public double getCorrectionRcs()
      Getter for the radar cross section correction.
      Returns:
      the radar cross section correction in m²
    • setCorrectionRcs

      public void setCorrectionRcs(double correctionRcs)
      Setter for the radar cross section correction.
      Parameters:
      correctionRcs - the radar cross section correction in m² to set
    • getCorrectionAberrationYearly

      public double getCorrectionAberrationYearly()
      Getter for the yearly aberration correction.
      Returns:
      the yearly aberration correction in radians
    • setCorrectionAberrationYearly

      public void setCorrectionAberrationYearly(double correctionAberrationYearly)
      Setter for the yearly aberration correction.
      Parameters:
      correctionAberrationYearly - the yearly aberration correction in radians to set
    • getCorrectionAberrationDiurnal

      public double getCorrectionAberrationDiurnal()
      Getter for the diurnal aberration correction.
      Returns:
      the diurnal aberration correction in radians
    • setCorrectionAberrationDiurnal

      public void setCorrectionAberrationDiurnal(double correctionAberrationDiurnal)
      Setter for the diurnal aberration correction.
      Parameters:
      correctionAberrationDiurnal - the diurnal aberration correction in radians to set
    • getCorrectionReceive

      public double getCorrectionReceive()
      Getter for the correctionReceive.
      Returns:
      the correctionReceive (in TDM units, without conversion)
    • setCorrectionReceive

      public void setCorrectionReceive(double correctionReceive)
      Setter for the correctionReceive.
      Parameters:
      correctionReceive - the correctionReceive to set (in TDM units, without conversion)
    • getCorrectionTransmit

      public double getCorrectionTransmit()
      Getter for the correctionTransmit.
      Returns:
      the correctionTransmit (in TDM units, without conversion)
    • setCorrectionTransmit

      public void setCorrectionTransmit(double correctionTransmit)
      Setter for the correctionTransmit.
      Parameters:
      correctionTransmit - the correctionTransmit to set (in TDM units, without conversion)
    • getCorrectionsApplied

      public CorrectionApplied getCorrectionsApplied()
      Getter for the correctionApplied.
      Returns:
      the correctionApplied (in TDM units, without conversion)
    • setCorrectionsApplied

      public void setCorrectionsApplied(CorrectionApplied correctionsApplied)
      Setter for the correctionApplied.
      Parameters:
      correctionsApplied - the correctionApplied to set (in TDM units, without conversion)