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 Detail

      • TdmMetadata

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

      • 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:
        getRadecFrame()
      • 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:
        14.0
        See Also:
        getReferenceFrame()
      • 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)