Class CdmRelativeMetadata


  • public class CdmRelativeMetadata
    extends Object
    This class gathers the relative meta-data present in the Conjunction Data Message (CDM).
    Since:
    11.2
    Author:
    Melina Vanel
    • Constructor Detail

      • CdmRelativeMetadata

        public CdmRelativeMetadata()
        Simple constructor.
    • Method Detail

      • validate

        public void validate()
        Check is all mandatory entries have been initialized.
      • getConjunctionId

        public String getConjunctionId()
        Get the Originator’s ID that uniquely identifies the conjunction to which the message refers.
        Returns:
        the conjunction id
      • setConjunctionId

        public void setConjunctionId​(String conjunctionId)
        Set the Originator’s ID that uniquely identifies the conjunction to which the message refers.
        Parameters:
        conjunctionId - the conjunction id to be set
      • getTca

        public AbsoluteDate getTca()
        Get the date and time in UTC of the closest approach.
        Returns:
        time of closest approach
      • setTca

        public void setTca​(AbsoluteDate tca)
        Set the date and time in UTC of the closest approach.
        Parameters:
        tca - time of closest approach to be set
      • getMissDistance

        public double getMissDistance()
        Get the norm of relative position vector at TCA.
        Returns:
        the miss distance (in m)
      • setMissDistance

        public void setMissDistance​(double missDistance)
        Set the norm of relative position vector at TCA.
        Parameters:
        missDistance - the miss distance to be set (in m)
      • getRelativeSpeed

        public double getRelativeSpeed()
        Get the norm of relative velocity vector at TCA.
        Returns:
        the relative speed at TCA (in m/s)
      • setRelativeSpeed

        public void setRelativeSpeed​(double relativeSpeed)
        Set the norm of relative velocity vector at TCA.
        Parameters:
        relativeSpeed - the relative speed (in m/s) at TCA to be set
      • getRelativeVelocity

        public Vector3D getRelativeVelocity()
        Get the Object2’s velocity vector relative to Object1's at TCA in RTN frame, getX for R component, getY for T component, getZ for N component.
        Returns:
        the relative speed vector at TCA (in m/s)
      • getRelativePosition

        public Vector3D getRelativePosition()
        Get the Object2’s position vector relative to Object1's at TCA in RTN frame, getX for R component, getY for T component, getZ for N component.
        Returns:
        the relative position vector at TCA (in m)
      • setRelativePositionR

        public void setRelativePositionR​(double relativePositionR)
        Set the R component of Object2’s position relative to Object1’s in RTN frame.
        Parameters:
        relativePositionR - the R component (in m) of Object2’s position relative to Object1’s
      • setRelativePositionT

        public void setRelativePositionT​(double relativePositionT)
        Set the T component of Object2’s position relative to Object1’s in RTN frame.
        Parameters:
        relativePositionT - the T component (in m) of Object2’s position relative to Object1’s
      • setRelativePositionN

        public void setRelativePositionN​(double relativePositionN)
        Set the N component of Object2’s position relative to Object1’s in RTN frame.
        Parameters:
        relativePositionN - the N component (in m) of Object2’s position relative to Object1’s
      • setRelativeVelocityR

        public void setRelativeVelocityR​(double relativeVelocityR)
        Set the R component of Object2’s velocity relative to Object1’s in RTN frame.
        Parameters:
        relativeVelocityR - the R component (in m/s) of Object2’s velocity relative to Object1’s
      • setRelativeVelocityT

        public void setRelativeVelocityT​(double relativeVelocityT)
        Set the T component of Object2’s velocity relative to Object1’s in RTN frame.
        Parameters:
        relativeVelocityT - the T component (in m/s) of Object2’s velocity relative to Object1’s
      • setRelativeVelocityN

        public void setRelativeVelocityN​(double relativeVelocityN)
        Set the N component of Object2’s velocity relative to Object1’s in RTN frame.
        Parameters:
        relativeVelocityN - the N component (in m/s) of Object2’s velocity relative to Object1’s
      • getStartScreenPeriod

        public AbsoluteDate getStartScreenPeriod()
        Get the start time in UTC of the screening period for the conjunction assessment.
        Returns:
        start time in UTC of the screening period
      • setStartScreenPeriod

        public void setStartScreenPeriod​(AbsoluteDate startScreenPeriod)
        Set the start time in UTC of the screening period for the conjunction assessment.
        Parameters:
        startScreenPeriod - start time in UTC of the screening period to be set
      • getStopScreenPeriod

        public AbsoluteDate getStopScreenPeriod()
        Get the stop time in UTC of the screening period for the conjunction assessment.
        Returns:
        stop time in UTC of the screening period
      • setStopScreenPeriod

        public void setStopScreenPeriod​(AbsoluteDate stopScreenPeriod)
        Set the stop time in UTC of the screening period for the conjunction assessment.
        Parameters:
        stopScreenPeriod - stop time in UTC of the screening period to be set
      • getScreenVolumeFrame

        public ScreenVolumeFrame getScreenVolumeFrame()
        Get the name of the Object1 centered reference frame in which the screening volume data are given.
        Returns:
        name of screen volume frame
      • setScreenVolumeFrame

        public void setScreenVolumeFrame​(ScreenVolumeFrame screenVolumeFrame)
        Set the name of the Object1 centered reference frame in which the screening volume data are given.
        Parameters:
        screenVolumeFrame - name of screen volume frame
      • getScreenVolumeShape

        public ScreenVolumeShape getScreenVolumeShape()
        Get the shape of the screening volume.
        Returns:
        shape of the screening volume
      • setScreenVolumeShape

        public void setScreenVolumeShape​(ScreenVolumeShape screenVolumeShape)
        Set the shape of the screening volume.
        Parameters:
        screenVolumeShape - shape of the screening volume
      • getScreenVolumeX

        public double getScreenVolumeX()
        Get the R or T (depending on if RTN or TVN is selected) component size of the screening volume in the corresponding frame.
        Returns:
        first component size of the screening volume (in m)
      • setScreenVolumeX

        public void setScreenVolumeX​(double screenVolumeX)
        Set the R or T (depending on if RTN or TVN is selected) component size of the screening volume in the corresponding frame.
        Parameters:
        screenVolumeX - first component size of the screening volume (in m)
      • getScreenVolumeY

        public double getScreenVolumeY()
        Get the T or V (depending on if RTN or TVN is selected) component size of the screening volume in the corresponding frame.
        Returns:
        second component size of the screening volume (in m)
      • setScreenVolumeY

        public void setScreenVolumeY​(double screenVolumeY)
        Set the T or V (depending on if RTN or TVN is selected) component size of the screening volume in the corresponding frame.
        Parameters:
        screenVolumeY - second component size of the screening volume (in m)
      • getScreenVolumeZ

        public double getScreenVolumeZ()
        Get the N component size of the screening volume in the corresponding frame.
        Returns:
        third component size of the screening volume (in m)
      • setScreenVolumeZ

        public void setScreenVolumeZ​(double screenVolumeZ)
        Set the N component size of the screening volume in the corresponding frame.
        Parameters:
        screenVolumeZ - third component size of the screening volume (in m)
      • getScreenEntryTime

        public AbsoluteDate getScreenEntryTime()
        Get the time in UTC when Object2 enters the screening volume.
        Returns:
        time in UTC when Object2 enters the screening volume
      • setScreenEntryTime

        public void setScreenEntryTime​(AbsoluteDate screenEntryTime)
        Set the time in UTC when Object2 enters the screening volume.
        Parameters:
        screenEntryTime - time in UTC when Object2 enters the screening volume
      • getScreenExitTime

        public AbsoluteDate getScreenExitTime()
        Get the time in UTC when Object2 exits the screening volume.
        Returns:
        time in UTC when Object2 exits the screening volume
      • setScreenExitTime

        public void setScreenExitTime​(AbsoluteDate screenExitTime)
        Set the time in UTC when Object2 exits the screening volume.
        Parameters:
        screenExitTime - time in UTC when Object2 exits the screening volume
      • getCollisionProbability

        public double getCollisionProbability()
        Get the probability (between 0.0 and 1.0) that Object1 and Object2 will collide.
        Returns:
        probability of collision
      • setCollisionProbability

        public void setCollisionProbability​(double collisionProbability)
        Set the probability (between 0.0 and 1.0) that Object1 and Object2 will collide.
        Parameters:
        collisionProbability - first component size of the screening volume
      • getCollisionProbaMethod

        public PocMethodFacade getCollisionProbaMethod()
        Get the method that was used to calculate the collision probability.
        Returns:
        method to calculate probability of collision
      • setCollisionProbaMethod

        public void setCollisionProbaMethod​(PocMethodFacade collisionProbaMethod)
        Set the method that was used to calculate the collision probability.
        Parameters:
        collisionProbaMethod - method used to calculate probability of collision
      • checkNotNull

        public void checkNotNull​(Object field,
                                 Enum<?> key)
        Complain if a field is null.
        Parameters:
        field - field to check
        key - key associated with the field
      • setTimeSystem

        public void setTimeSystem​(TimeSystem timeSystem)
        Set the Time System that: for CDM, is used for relative metadata, metadata, OD parameters, state vector. In CDM all date are given in UTC.
        Parameters:
        timeSystem - the time system to be set
      • getTimeSystem

        public TimeSystem getTimeSystem()
        Get the Time System that: for CDM, is used for relative metadata, metadata, OD parameters, state vector. In CDM all date are given in UTC.
        Returns:
        the time system
      • addComment

        public void addComment​(String comments)
        Set comment for relative metadata.
        Parameters:
        comments - to be set
      • getComment

        public List<String> getComment()
        Get comment for relative metadata.
        Returns:
        the time system
      • getApproachAngle

        public double getApproachAngle()
        Get the approach angle computed between Objects 1 and 2 in the RTN coordinate frame relative to object 1.
        Returns:
        the approachAngle
      • setApproachAngle

        public void setApproachAngle​(double approachAngle)
        Set the approach angle computed between Objects 1 and 2 in the RTN coordinate frame relative to object 1.
        Parameters:
        approachAngle - the approachAngle to set
      • getScreenType

        public ScreenType getScreenType()
        Get the type of screening to be used.
        Returns:
        the screenType
      • setScreenType

        public void setScreenType​(ScreenType screenType)
        Set the type of screening to be used.
        Parameters:
        screenType - the screenType to set
      • getMaxCollisionProbability

        public double getMaxCollisionProbability()
        Get max collision probability.
        Returns:
        the max collision probability
      • setMaxCollisionProbability

        public void setMaxCollisionProbability​(double maxCollisionProbability)
        Set max collision probability.
        Parameters:
        maxCollisionProbability - the max collision probability to set
      • getMaxCollisionProbabilityMethod

        public PocMethodFacade getMaxCollisionProbabilityMethod()
        Get max collision probability method.
        Returns:
        the max collision probability method
      • setMaxCollisionProbabilityMethod

        public void setMaxCollisionProbabilityMethod​(PocMethodFacade pocMethodFacade)
        Set max collision probability method.
        Parameters:
        pocMethodFacade - the max collision probability method to set
      • getSefiCollisionProbability

        public double getSefiCollisionProbability()
        Get the Space Environment Fragmentation Impact probability.
        Returns:
        the Space Environment Fragmentation Impact probability
      • setSefiCollisionProbability

        public void setSefiCollisionProbability​(double sefiCollisionProbability)
        Set the Space Environment Fragmentation Impact probability.
        Parameters:
        sefiCollisionProbability - the Space Environment Fragmentation Impact probability to set
      • getSefiCollisionProbabilityMethod

        public PocMethodFacade getSefiCollisionProbabilityMethod()
        Get the Space Environment Fragmentation Impact probability method.
        Returns:
        the Space Environment Fragmentation Impact probability method
      • setSefiCollisionProbabilityMethod

        public void setSefiCollisionProbabilityMethod​(PocMethodFacade pocMethodFacade)
        Set the Space Environment Fragmentation Impact probability method.
        Parameters:
        pocMethodFacade - the Space Environment Fragmentation Impact probability method to set
      • getSefiFragmentationModel

        public String getSefiFragmentationModel()
        Get the Space Environment Fragmentation Impact fragmentation model.
        Returns:
        the Space Environment Fragmentation Impact fragmentation model
      • setSefiFragmentationModel

        public void setSefiFragmentationModel​(String sefiFragmentationModel)
        Set the Space Environment Fragmentation Impact fragmentation model.
        Parameters:
        sefiFragmentationModel - the Space Environment Fragmentation Impact fragmentation model to set
      • getMahalanobisDistance

        public double getMahalanobisDistance()
        Get the Mahalanobis Distance. The length of the relative position vector, normalized to one-sigma dispersions of the combined error covariance in the direction of the relative position vector.
        Returns:
        the mahalanobisDistance
      • setMahalanobisDistance

        public void setMahalanobisDistance​(double mahalanobisDistance)
        Set the Mahalanobis Distance. The length of the relative position vector, normalized to one-sigma dispersions of the combined error covariance in the direction of the relative position vector.
        Parameters:
        mahalanobisDistance - the mahalanobisDistance to set
      • getScreenVolumeRadius

        public double getScreenVolumeRadius()
        Get the screen volume radius.
        Returns:
        the screen volume radius
      • setScreenVolumeRadius

        public void setScreenVolumeRadius​(double screenVolumeRadius)
        set the screen volume radius.
        Parameters:
        screenVolumeRadius - the screen volume radius to set
      • getScreenPcThreshold

        public double getScreenPcThreshold()
        Get the collision probability screening threshold used to identify this conjunction.
        Returns:
        the screenPcThreshold
      • setScreenPcThreshold

        public void setScreenPcThreshold​(double screenPcThreshold)
        Set the collision probability screening threshold used to identify this conjunction.
        Parameters:
        screenPcThreshold - the screenPcThreshold to set
      • checkScreenVolumeConditions

        public void checkScreenVolumeConditions()
        Check screen volume conditions.

        The method verifies that all keys are present. Otherwise, an exception is thrown.

      • getCollisionPercentile

        public int[] getCollisionPercentile()
        Get the array of 1 to n elements indicating the percentile(s) for which estimates of the collision probability are provided in the COLLISION_PROBABILITY variable.
        Returns:
        the collisionPercentile
      • setCollisionPercentile

        public void setCollisionPercentile​(int[] collisionPercentile)
        Set the array of 1 to n elements indicating the percentile(s) for which estimates of the collision probability are provided in the COLLISION_PROBABILITY variable.
        Parameters:
        collisionPercentile - the collisionPercentile to set
      • getPreviousMessageId

        public String getPreviousMessageId()
        Get the ID of previous CDM issued for event identified by CONJUNCTION_ID.
        Returns:
        the previousMessageId
      • setPreviousMessageId

        public void setPreviousMessageId​(String previousMessageId)
        Set the ID of previous CDM issued for event identified by CONJUNCTION_ID.
        Parameters:
        previousMessageId - the previousMessageId to set
      • getPreviousMessageEpoch

        public AbsoluteDate getPreviousMessageEpoch()
        Get the UTC epoch of the previous CDM issued for the event identified by CONJUNCTION_ID.
        Returns:
        the previousMessageEpoch
      • setPreviousMessageEpoch

        public void setPreviousMessageEpoch​(AbsoluteDate previousMessageEpoch)
        Set the UTC epoch of the previous CDM issued for the event identified by CONJUNCTION_ID.
        Parameters:
        previousMessageEpoch - the previousMessageEpoch to set
      • getNextMessageEpoch

        public AbsoluteDate getNextMessageEpoch()
        Get Scheduled UTC epoch of the next CDM associated with the event identified by CONJUNCTION_ID.
        Returns:
        the nextMessageEpoch
      • setNextMessageEpoch

        public void setNextMessageEpoch​(AbsoluteDate nextMessageEpoch)
        Set Scheduled UTC epoch of the next CDM associated with the event identified by CONJUNCTION_ID.
        Parameters:
        nextMessageEpoch - the nextMessageEpoch to set