Package org.orekit.files.ccsds.ndm.cdm
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 Summary
Constructors Constructor Description CdmRelativeMetadata()
Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addComment(String comments)
Set comment for relative metadata.void
checkNotNull(Object field, Enum<?> key)
Complain if a field is null.void
checkScreenVolumeConditions()
Check screen volume conditions.double
getApproachAngle()
Get the approach angle computed between Objects 1 and 2 in the RTN coordinate frame relative to object 1.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.double
getCollisionProbability()
Get the probability (between 0.0 and 1.0) that Object1 and Object2 will collide.PocMethodFacade
getCollisionProbaMethod()
Get the method that was used to calculate the collision probability.List<String>
getComment()
Get comment for relative metadata.String
getConjunctionId()
Get the Originator’s ID that uniquely identifies the conjunction to which the message refers.double
getMahalanobisDistance()
Get the Mahalanobis Distance.double
getMaxCollisionProbability()
Get max collision probability.PocMethodFacade
getMaxCollisionProbabilityMethod()
Get max collision probability method.double
getMissDistance()
Get the norm of relative position vector at TCA.AbsoluteDate
getNextMessageEpoch()
Get Scheduled UTC epoch of the next CDM associated with the event identified by CONJUNCTION_ID.AbsoluteDate
getPreviousMessageEpoch()
Get the UTC epoch of the previous CDM issued for the event identified by CONJUNCTION_ID.String
getPreviousMessageId()
Get the ID of previous CDM issued for event identified by CONJUNCTION_ID.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.double
getRelativeSpeed()
Get the norm of relative velocity vector at TCA.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.AbsoluteDate
getScreenEntryTime()
Get the time in UTC when Object2 enters the screening volume.AbsoluteDate
getScreenExitTime()
Get the time in UTC when Object2 exits the screening volume.double
getScreenPcThreshold()
Get the collision probability screening threshold used to identify this conjunction.ScreenType
getScreenType()
Get the type of screening to be used.ScreenVolumeFrame
getScreenVolumeFrame()
Get the name of the Object1 centered reference frame in which the screening volume data are given.double
getScreenVolumeRadius()
Get the screen volume radius.ScreenVolumeShape
getScreenVolumeShape()
Get the shape of the screening volume.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.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.double
getScreenVolumeZ()
Get the N component size of the screening volume in the corresponding frame.double
getSefiCollisionProbability()
Get the Space Environment Fragmentation Impact probability.PocMethodFacade
getSefiCollisionProbabilityMethod()
Get the Space Environment Fragmentation Impact probability method.String
getSefiFragmentationModel()
Get the Space Environment Fragmentation Impact fragmentation model.AbsoluteDate
getStartScreenPeriod()
Get the start time in UTC of the screening period for the conjunction assessment.AbsoluteDate
getStopScreenPeriod()
Get the stop time in UTC of the screening period for the conjunction assessment.AbsoluteDate
getTca()
Get the date and time in UTC of the closest approach.TimeSystem
getTimeSystem()
Get the Time System that: for CDM, is used for relative metadata, metadata, OD parameters, state vector.void
setApproachAngle(double approachAngle)
Set the approach angle computed between Objects 1 and 2 in the RTN coordinate frame relative to object 1.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.void
setCollisionProbability(double collisionProbability)
Set the probability (between 0.0 and 1.0) that Object1 and Object2 will collide.void
setCollisionProbaMethod(PocMethodFacade collisionProbaMethod)
Set the method that was used to calculate the collision probability.void
setConjunctionId(String conjunctionId)
Set the Originator’s ID that uniquely identifies the conjunction to which the message refers.void
setMahalanobisDistance(double mahalanobisDistance)
Set the Mahalanobis Distance.void
setMaxCollisionProbability(double maxCollisionProbability)
Set max collision probability.void
setMaxCollisionProbabilityMethod(PocMethodFacade pocMethodFacade)
Set max collision probability method.void
setMissDistance(double missDistance)
Set the norm of relative position vector at TCA.void
setNextMessageEpoch(AbsoluteDate nextMessageEpoch)
Set Scheduled UTC epoch of the next CDM associated with the event identified by CONJUNCTION_ID.void
setPreviousMessageEpoch(AbsoluteDate previousMessageEpoch)
Set the UTC epoch of the previous CDM issued for the event identified by CONJUNCTION_ID.void
setPreviousMessageId(String previousMessageId)
Set the ID of previous CDM issued for event identified by CONJUNCTION_ID.void
setRelativePositionN(double relativePositionN)
Set the N component of Object2’s position relative to Object1’s in RTN frame.void
setRelativePositionR(double relativePositionR)
Set the R component of Object2’s position relative to Object1’s in RTN frame.void
setRelativePositionT(double relativePositionT)
Set the T component of Object2’s position relative to Object1’s in RTN frame.void
setRelativeSpeed(double relativeSpeed)
Set the norm of relative velocity vector at TCA.void
setRelativeVelocityN(double relativeVelocityN)
Set the N component of Object2’s velocity relative to Object1’s in RTN frame.void
setRelativeVelocityR(double relativeVelocityR)
Set the R component of Object2’s velocity relative to Object1’s in RTN frame.void
setRelativeVelocityT(double relativeVelocityT)
Set the T component of Object2’s velocity relative to Object1’s in RTN frame.void
setScreenEntryTime(AbsoluteDate screenEntryTime)
Set the time in UTC when Object2 enters the screening volume.void
setScreenExitTime(AbsoluteDate screenExitTime)
Set the time in UTC when Object2 exits the screening volume.void
setScreenPcThreshold(double screenPcThreshold)
Set the collision probability screening threshold used to identify this conjunction.void
setScreenType(ScreenType screenType)
Set the type of screening to be used.void
setScreenVolumeFrame(ScreenVolumeFrame screenVolumeFrame)
Set the name of the Object1 centered reference frame in which the screening volume data are given.void
setScreenVolumeRadius(double screenVolumeRadius)
set the screen volume radius.void
setScreenVolumeShape(ScreenVolumeShape screenVolumeShape)
Set the shape of the screening volume.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.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.void
setScreenVolumeZ(double screenVolumeZ)
Set the N component size of the screening volume in the corresponding frame.void
setSefiCollisionProbability(double sefiCollisionProbability)
Set the Space Environment Fragmentation Impact probability.void
setSefiCollisionProbabilityMethod(PocMethodFacade pocMethodFacade)
Set the Space Environment Fragmentation Impact probability method.void
setSefiFragmentationModel(String sefiFragmentationModel)
Set the Space Environment Fragmentation Impact fragmentation model.void
setStartScreenPeriod(AbsoluteDate startScreenPeriod)
Set the start time in UTC of the screening period for the conjunction assessment.void
setStopScreenPeriod(AbsoluteDate stopScreenPeriod)
Set the stop time in UTC of the screening period for the conjunction assessment.void
setTca(AbsoluteDate tca)
Set the date and time in UTC of the closest approach.void
setTimeSystem(TimeSystem timeSystem)
Set the Time System that: for CDM, is used for relative metadata, metadata, OD parameters, state vector.void
validate()
Check is all mandatory entries have been initialized.
-
-
-
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 checkkey
- 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
-
-