Class AbstractShortTermEncounter2DPOCMethod

java.lang.Object
org.orekit.ssa.collision.shorttermencounter.probability.twod.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 Details

    • DEFAULT_TCA_DIFFERENCE_TOLERANCE

      public static final double DEFAULT_TCA_DIFFERENCE_TOLERANCE
      Default time of closest approach difference tolerance.
      See Also:
  • Constructor Details

    • AbstractShortTermEncounter2DPOCMethod

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

    • 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
    • compute

      public <T extends CalculusFieldElement<T>> FieldProbabilityOfCollision<T> compute(FieldShortTermEncounter2DDefinition<T> encounter, double zeroThreshold)
      Compute the probability of collision using given collision definition.
      Specified by:
      compute in interface ShortTermEncounter2DPOCMethod
      Type Parameters:
      T - type of the field elements
      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
    • getName

      public String getName()
      Get name of the method.
      Specified by:
      getName in interface ShortTermEncounter2DPOCMethod
      Returns:
      name of the method
    • 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