Class AbstractShortTermEncounter2DPOCMethod

  • All Implemented Interfaces:
    ShortTermEncounter2DPOCMethod
    Direct Known Subclasses:
    AbstractAlfriend1999, AbstractShortTermEncounter1DNumerical2DPOCMethod, Alfano2005, Chan1997, Laas2015

    public abstract class AbstractShortTermEncounter2DPOCMethod
    extends Object
    implements ShortTermEncounter2DPOCMethod
    This abstract class serves as a foundation to create 2D probability of collision computing method assuming a short term encounter model.

    All the methods extending this class will at least assume the followings :

    • Short term encounter leading to a linear relative motion.
    • Spherical collision object.
    • Uncorrelated positional covariance.
    • Gaussian distribution of the position uncertainties.
    • Deterministic velocity i.e. no velocity uncertainties.
    As listed in the assumptions, methods extending this class are to be used in short encounter, meaning that there must be a high relative velocity. For ease of computation, the resulting swept volume is extended to infinity so that the integral becomes bivariate instead of trivariate (conservative hypothesis).

    Consequently and if we consider Earth, methods implementing this interface are recommended for collision happening in Low/Medium Earth Orbit (LEO and MEO) but are not recommended for collision happening in Geostationary Earth Orbit (GEO).

    Since:
    12.0
    Author:
    Vincent Cucchietti
    • Field Detail

      • DEFAULT_TCA_DIFFERENCE_TOLERANCE

        public static final double DEFAULT_TCA_DIFFERENCE_TOLERANCE
        Default time of closest approach difference tolerance.
        See Also:
        Constant Field Values
    • Constructor Detail

      • AbstractShortTermEncounter2DPOCMethod

        protected AbstractShortTermEncounter2DPOCMethod​(String name)
        Constructor.
        Parameters:
        name - name of the method
    • Method Detail

      • compute

        public ProbabilityOfCollision compute​(Cdm cdm,
                                              double combinedRadius)
        Compute the probability of collision using a Conjunction Data Message (CDM).
        Specified by:
        compute in interface ShortTermEncounter2DPOCMethod
        Parameters:
        cdm - conjunction data message input
        combinedRadius - combined radius (m)
        Returns:
        probability of collision
      • compute

        public <T extends CalculusFieldElement<T>> FieldProbabilityOfCollision<T> compute​(Cdm cdm,
                                                                                          T combinedRadius,
                                                                                          double zeroThreshold)
        Compute the probability of collision using a Conjunction Data Message (CDM).
        Specified by:
        compute in interface ShortTermEncounter2DPOCMethod
        Type Parameters:
        T - type of the field elements
        Parameters:
        cdm - conjunction data message input
        combinedRadius - combined radius (m)
        zeroThreshold - threshold below which values are considered equal to zero
        Returns:
        probability of collision
      • compute

        public ProbabilityOfCollision compute​(Orbit primaryAtTCA,
                                              StateCovariance primaryCovariance,
                                              Orbit secondaryAtTCA,
                                              StateCovariance secondaryCovariance,
                                              double combinedRadius,
                                              double zeroThreshold)
        Compute the probability of collision using parameters necessary for creating a collision definition instance.
        Specified by:
        compute in interface ShortTermEncounter2DPOCMethod
        Parameters:
        primaryAtTCA - primary collision object spacecraft state at time of closest approach
        primaryCovariance - primary collision object covariance
        secondaryAtTCA - secondary collision object spacecraft state at time of closest approach
        secondaryCovariance - secondary collision object covariance
        combinedRadius - combined radius (m)
        zeroThreshold - threshold below which values are considered equal to zero
        Returns:
        probability of collision
      • compute

        public <T extends CalculusFieldElement<T>> FieldProbabilityOfCollision<T> compute​(FieldOrbit<T> primaryAtTCA,
                                                                                          FieldStateCovariance<T> primaryCovariance,
                                                                                          FieldOrbit<T> secondaryAtTCA,
                                                                                          FieldStateCovariance<T> secondaryCovariance,
                                                                                          T combinedRadius,
                                                                                          double zeroThreshold)
        Compute the probability of collision using parameters necessary for creating a collision definition instance.
        Specified by:
        compute in interface ShortTermEncounter2DPOCMethod
        Type Parameters:
        T - type of the field elements
        Parameters:
        primaryAtTCA - primary collision object spacecraft state at time of closest approach
        primaryCovariance - primary collision object covariance
        secondaryAtTCA - secondary collision object spacecraft state at time of closest approach
        secondaryCovariance - secondary collision object covariance
        combinedRadius - combined radius (m)
        zeroThreshold - threshold below which values are considered equal to zero
        Returns:
        probability of collision
      • compute

        public ProbabilityOfCollision compute​(ShortTermEncounter2DDefinition encounter,
                                              double zeroThreshold)
        Compute the probability of collision using given collision definition.
        Specified by:
        compute in interface ShortTermEncounter2DPOCMethod
        Parameters:
        encounter - encounter definition between a primary and a secondary collision object
        zeroThreshold - threshold below which values are considered equal to zero
        Returns:
        probability of collision
      • isAMaximumProbabilityOfCollisionMethod

        public boolean isAMaximumProbabilityOfCollisionMethod()
        Get flag that defines if the method is a maximum probability of collision computing method.
        Specified by:
        isAMaximumProbabilityOfCollisionMethod in interface ShortTermEncounter2DPOCMethod
        Returns:
        flag that defines if the method is a maximum probability of collision computing method
      • getObjectOrbitFromCdm

        protected Orbit getObjectOrbitFromCdm​(CdmRelativeMetadata cdmRelativeMetadata,
                                              CdmData cdmData,
                                              CdmMetadata cdmMetadata,
                                              DataContext cdmDataContext)
        Extract collision object spacecraft state from given Conjunction Data Message data.
        Parameters:
        cdmRelativeMetadata - conjunction data message relative metadata
        cdmData - collision object conjunction data message data
        cdmMetadata - collision object conjunction data message metadata
        cdmDataContext - conjunction data message data context
        Returns:
        basic collision object spacecraft state from conjunction data message
      • getObjectStateCovarianceFromCdm

        protected StateCovariance getObjectStateCovarianceFromCdm​(CdmRelativeMetadata cdmRelativeMetadata,
                                                                  CdmData cdmData)
        Get collision object state covariance from given Conjunction Data Message data.
        Parameters:
        cdmRelativeMetadata - conjunction data message relative metadata
        cdmData - collision object conjunction data message data
        Returns:
        collision object state covariance