Hey everyone,
I'm opening this mr to close the following issues:
- closes #979 (closed)
- closes #981 (closed)
- closes #987 (closed)
- closes #1133 (closed)
Of course this mr is mainly about the collision package that it is going to add and a thread about this has been opened for quite some time now.
Summary of the additions
- Field version of
StateCovariance
class (with toStateCovariance method). - Generalization of
LOFType
enum which now extend the newLOF
interface. Methods that were inLOFType
are now inLOF
. In addition, theStateCovariance
class use theLOF
interface instead ofLOFType
. - Addition of the
EncounterLOF
interface as well as two classes implementing it (DefaultEncounterFrame and ValsecchiEncounterFrame). It extendsLOF
and implements new methods to project matrices and vectors onto the collision plane. Hence, it can be used with theStateCovariance
class ! - Addition "shorttermencounter" subpackage which regroups methods assuming a short term encounter. It introduced the following 2D probability of collision computing methods:
- Chan1997
- Alfriend1999
- Alfriend1999Max
- Alfano2005
- Patera2005 (recommended)
- Laas2015 (highly recommended)
All of these methods can handle Field (yes i'm looking at you @Serrof
Also, it offers a ShortTermEncounterDefinition
class that gives quick access to commonly used values such as:
- Miss distance
- The diagonalized covariance projected onto the collision plane
- Mahalanobis distance (squared or not)
- The position of the other object on the collision plane (before and after rotation due to the diagonalization of the covariance matrix)
- The
ShortTermEncounterPOCMethodType
enum allows for conversion (when it is possible) with the already existingPocMethodType
enum. - Addition of a
Fieldifier
class in the utils package to easily convert Orekit object to their field equivalent. - Defined Earth as the default orbit center in CDM if not explicitly defined as per the CCSDS blue book requirement.
There are more than 200 new tests with a basic code coverage of >95%.
I think that only some name and javadoc refactoring is needed to be as user-friendly as possible, but I would like to hear your thoughts first :) !
NOTE: This mr will be implementable as soon as this Hipparchus issue is closed.
Cheers, Vincent
Edited by Vincent CUCCHIETTI