Class CdmRelativeMetadata

java.lang.Object
org.orekit.files.ccsds.ndm.cdm.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 Details

    • CdmRelativeMetadata

      public CdmRelativeMetadata()
      Simple constructor.
  • Method Details

    • 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