I'm opening this mr to close the following issues:
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
StateCovarianceclass (with toStateCovariance method).
- Generalization of
LOFTypeenum which now extend the new
LOFinterface. Methods that were in
LOFTypeare now in
LOF. In addition, the
StateCovarianceclass use the
LOFinterface instead of
- Addition of the
EncounterLOFinterface as well as two classes implementing it (DefaultEncounterFrame and ValsecchiEncounterFrame). It extends
LOFand implements new methods to project matrices and vectors onto the collision plane. Hence, it can be used with the
- Addition "shorttermencounter" subpackage which regroups methods assuming a short term encounter. It introduced the following 2D probability of collision computing methods:
- 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)
ShortTermEncounterPOCMethodTypeenum allows for conversion (when it is possible) with the already existing
- Addition of a
Fieldifierclass 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.