ShortTermEncounter2DPOCMethodType.java
/* Copyright 2002-2024 CS GROUP
* Licensed to CS GROUP (CS) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* CS licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.orekit.ssa.collision.shorttermencounter.probability.twod;
import org.orekit.files.ccsds.definitions.PocMethodType;
/**
* This enum stores every probability of collision computing method using the short-term encounter model available in
* Orekit.
*
* @author Vincent Cucchietti
* @since 12.0
*/
public enum ShortTermEncounter2DPOCMethodType {
/**
* Probability of collision computing method described in :"SERRA, Romain, ARZELIER, Denis, JOLDES, Mioara, et al. Fast
* and accurate computation of orbital collision probability for short-term encounters. Journal of Guidance, Control, and
* Dynamics, 2016, vol. 39, no 5, p. 1009-1021."
*/
LAAS_2015 {
/** {@inheritDoc} */
@Override
public ShortTermEncounter2DPOCMethod getMethod() {
return new Laas2015();
}
/**
* {@inheritDoc}
* <p>
* This method is currently under approval by the SANA registry so its return type shall be updated once approved.
*/
@Override
public PocMethodType getCCSDSType() {
return null;
}
},
/**
* Probability of collision computing method described in :"S. Alfano. A numerical implementation of spherical objet
* collision probability. Journal of Astronautical Sciences, 53(1), January-March 2005."
*/
ALFANO_2005 {
/** {@inheritDoc} */
@Override
public ShortTermEncounter2DPOCMethod getMethod() {
return new Alfano2005();
}
/** {@inheritDoc} */
@Override
public PocMethodType getCCSDSType() {
return PocMethodType.ALFANO_2005;
}
},
/**
* Probability of collision computing method described in :"PATERA, Russell P. Calculating collision probability for
* arbitrary space vehicle shapes via numerical quadrature. Journal of guidance, control, and dynamics, 2005, vol. 28, no
* 6, p. 1326-1328."
*/
PATERA_2005 {
/** {@inheritDoc} */
@Override
public ShortTermEncounter2DPOCMethod getMethod() {
return new Patera2005();
}
/** {@inheritDoc} */
@Override
public PocMethodType getCCSDSType() {
return PocMethodType.PATERA_2005;
}
},
/**
* Probability of collision computing method described in :"Kyle Alfriend, Maruthi Akella, Joseph Frisbee, James Foster,
* Deok-Jin Lee, and Matthew Wilkins. Probability of ProbabilityOfCollision Error Analysis. Space Debris, 1(1):21–35,
* 1999."
*/
ALFRIEND_1999 {
/** {@inheritDoc} */
@Override
public ShortTermEncounter2DPOCMethod getMethod() {
return new Alfriend1999();
}
/** {@inheritDoc} */
@Override
public PocMethodType getCCSDSType() {
return PocMethodType.ALFRIEND_1999;
}
},
/**
* Probability of collision computing method described in :"Kyle Alfriend, Maruthi Akella, Joseph Frisbee, James Foster,
* Deok-Jin Lee, and Matthew Wilkins. Probability of ProbabilityOfCollision Error Analysis. Space Debris, 1(1):21–35,
* 1999."
*/
ALFRIEND_1999_MAX {
/** {@inheritDoc} */
@Override
public ShortTermEncounter2DPOCMethod getMethod() {
return new Alfriend1999Max();
}
/** {@inheritDoc} */
@Override
public PocMethodType getCCSDSType() {
return null;
}
},
/**
* Probability of collision computing method described in : <br> "Chan,K. “Collision Probability Analyses for Earth
* Orbiting Satellites.” In Space Cooperation into the 21st Century: 7th AAS/JRS/CSA Symposium, International Space
* Conference of Pacific-Basin Societies (ISCOPS; formerly PISSTA) (July 15-18, 1997, Nagasaki, Japan), edited by Peter
* M. Bainum, et al., 1033-1048. Advances in the Astronautical Sciences Series 96. San Diego, California: Univelt, 1997.
* (Zeroth order analytical expression)".
* <p>
* This method is also described in depth in : <br> "CHAN, F. Kenneth, et al. Spacecraft collision probability. El
* Segundo, CA : Aerospace Press, 2008."
*/
CHAN_1997 {
/** {@inheritDoc} */
@Override
public ShortTermEncounter2DPOCMethod getMethod() {
return new Chan1997();
}
/** {@inheritDoc} */
@Override
public PocMethodType getCCSDSType() {
return PocMethodType.CHAN_1997;
}
};
/**
* Get the CCSDS type if used by the SANA registry.
* <p>
* Note that it may return a null if the method is <b>not</b> used by the SANA registry.
* <p>
* The list of available methods is available on the SANA website.
*
* @return probability of collision method
*
* @see <a href="https://sanaregistry.org/r/cdm_cpm/">SANA CDM Collision Probability Methods</a>
*/
public abstract PocMethodType getCCSDSType();
/** Get probability of collision method.
* @return probability of collision method
*/
public abstract ShortTermEncounter2DPOCMethod getMethod();
}