Enum Class OrbitParamsType
- All Implemented Interfaces:
Serializable,Comparable<OrbitParamsType>,Constable
Orbit and FieldOrbit parameters types.
They are full physical coordinates (six-dimensional) in the two-body (possibly perturbed) problem.-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>> -
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionType for orbital representation inCartesianOrbitandFieldCartesianOrbitparameters.Type for orbital representation inCircularOrbitandFieldCircularOrbitparameters.Type for orbital representation inEquinoctialOrbitandFieldEquinoctialOrbitparameters.Type for orbital representation inKeplerianOrbitandFieldKeplerianOrbitparameters. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringName for semi major axis.static final StringName for eccentricity vector first component.static final StringName for eccentricity vector second component.static final StringName for eccentricity.static final StringName for eccentric anomaly.static final StringName for eccentric argument of latitude.static final StringName for eccentric argument of longitude.static final StringName for inclination vector first component.static final StringName for inclination vector second component .static final StringName for inclination.static final StringName for mean anomaly.static final StringName for mean argument of latitude.static final StringName for mean argument of longitude.static final StringName for periapsis argument.static final StringName for position along X.static final StringName for position along Y.static final StringName for position along Z.static final StringName for right ascension of ascending node.static final StringName for mean anomaly.static final StringName for mean argument of latitude.static final StringName for mean argument of longitude.static final StringName for velocity along X.static final StringName for velocity along Y.static final StringName for velocity along Z. -
Method Summary
Modifier and TypeMethodDescriptionabstract <T extends CalculusFieldElement<T>>
FieldOrbit<T> convertToFieldOrbit(Field<T> field, Orbit orbit) Convert an orbit to the "Fielded" instance type.abstract <T extends CalculusFieldElement<T>>
FieldOrbit<T> convertType(FieldOrbit<T> orbit) Convert an orbit to the instance type.abstract OrbitconvertType(Orbit orbit) Convert an orbit to the instance type.abstract ParameterDriversListgetDrivers(double dP, Orbit orbit, PositionAngleType type) Get parameters drivers initialized from a reference orbit.abstract booleanTells if the orbit type is based on position angles or not.abstract OrbitmapArrayToOrbit(double[] array, double[] arrayDot, PositionAngleType type, AbsoluteDate date, double mu, Frame frame) Convert state array to orbital parameters.abstract <T extends CalculusFieldElement<T>>
FieldOrbit<T> mapArrayToOrbit(T[] array, T[] arrayDot, PositionAngleType type, FieldAbsoluteDate<T> date, T mu, Frame frame) Convert state array to orbital parameters.abstract <T extends CalculusFieldElement<T>>
voidmapOrbitToArray(FieldOrbit<T> orbit, PositionAngleType type, T[] stateVector, T[] stateVectorDot) Convert orbit to state array.abstract voidmapOrbitToArray(Orbit orbit, PositionAngleType type, double[] stateVector, double[] stateVectorDot) Convert orbit to state array.abstract <T extends CalculusFieldElement<T>>
FieldOrbit<T> normalize(FieldOrbit<T> orbit, FieldOrbit<T> reference) Normalize one orbit with respect to a reference one.abstract OrbitNormalize one orbit with respect to a reference one.protected double[]Compute scaling factor for parameters drivers.static OrbitParamsTypeReturns the enum constant of this class with the specified name.static OrbitParamsType[]values()Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
CARTESIAN
Type for orbital representation inCartesianOrbitandFieldCartesianOrbitparameters. -
CIRCULAR
Type for orbital representation inCircularOrbitandFieldCircularOrbitparameters. -
EQUINOCTIAL
Type for orbital representation inEquinoctialOrbitandFieldEquinoctialOrbitparameters. -
KEPLERIAN
Type for orbital representation inKeplerianOrbitandFieldKeplerianOrbitparameters.
-
-
Field Details
-
POS_X
Name for position along X.- See Also:
-
POS_Y
Name for position along Y.- See Also:
-
POS_Z
Name for position along Z.- See Also:
-
VEL_X
Name for velocity along X.- See Also:
-
VEL_Y
Name for velocity along Y.- See Also:
-
VEL_Z
Name for velocity along Z.- See Also:
-
A
Name for semi major axis.- See Also:
-
ECC
Name for eccentricity.- See Also:
-
E_X
Name for eccentricity vector first component.- See Also:
-
E_Y
Name for eccentricity vector second component.- See Also:
-
INC
Name for inclination.- See Also:
-
H_X
Name for inclination vector first component.- See Also:
-
H_Y
Name for inclination vector second component .- See Also:
-
PA
Name for periapsis argument.- See Also:
-
RAAN
Name for right ascension of ascending node.- See Also:
-
MEAN_ANOM
Name for mean anomaly.- See Also:
-
ECC_ANOM
Name for eccentric anomaly.- See Also:
-
TRUE_ANOM
Name for mean anomaly.- See Also:
-
MEAN_LAT_ARG
Name for mean argument of latitude.- See Also:
-
ECC_LAT_ARG
Name for eccentric argument of latitude.- See Also:
-
TRUE_LAT_ARG
Name for mean argument of latitude.- See Also:
-
MEAN_LON_ARG
Name for mean argument of longitude.- See Also:
-
ECC_LON_ARG
Name for eccentric argument of longitude.- See Also:
-
TRUE_LON_ARG
Name for mean argument of longitude.- See Also:
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum class has no constant with the specified nameNullPointerException- if the argument is null
-
convertType
Convert an orbit to the instance type.The returned orbit is the specified instance itself if its type already matches, otherwise, a new orbit of the proper type created
- Parameters:
orbit- orbit to convert- Returns:
- converted orbit with type guaranteed to match (so it can be cast safely)
-
mapOrbitToArray
public abstract void mapOrbitToArray(Orbit orbit, PositionAngleType type, double[] stateVector, double[] stateVectorDot) Convert orbit to state array.Note that all implementations of this method must be consistent with the implementation of the
Orbit.getJacobianWrtCartesianmethod for the corresponding orbit type in terms of parameters order and meaning.- Parameters:
orbit- orbit to maptype- type of the anglestateVector- flat array into which the state vector should be mapped (it can have more than 6 elements, extra elements are untouched)stateVectorDot- flat array into which the state vector derivative should be mapped (it can be null if derivatives are not desired, and it can have more than 6 elements, extra elements are untouched)
-
mapArrayToOrbit
public abstract Orbit mapArrayToOrbit(double[] array, double[] arrayDot, PositionAngleType type, AbsoluteDate date, double mu, Frame frame) Convert state array to orbital parameters.Note that all implementations of this method must be consistent with the implementation of the
Orbit.getJacobianWrtCartesianmethod for the corresponding orbit type in terms of parameters order and meaning.- Parameters:
array- state as a flat array (it can have more than 6 elements, extra elements are ignored)arrayDot- state derivative as a flat array (it can be null, in which case Keplerian motion is assumed, and it can have more than 6 elements, extra elements are ignored)type- type of the angledate- integration datemu- central attraction coefficient used for propagation (m³/s²)frame- frame in which integration is performed- Returns:
- orbit corresponding to the flat array as a space dynamics object
-
convertType
Convert an orbit to the instance type.The returned orbit is the specified instance itself if its type already matches, otherwise, a new orbit of the proper type created
- Type Parameters:
T- CalculusFieldElement used- Parameters:
orbit- orbit to convert- Returns:
- converted orbit with type guaranteed to match (so it can be cast safely)
-
mapOrbitToArray
public abstract <T extends CalculusFieldElement<T>> void mapOrbitToArray(FieldOrbit<T> orbit, PositionAngleType type, T[] stateVector, T[] stateVectorDot) Convert orbit to state array.Note that all implementations of this method must be consistent with the implementation of the
Orbit.getJacobianWrtCartesianmethod for the corresponding orbit type in terms of parameters order and meaning.- Type Parameters:
T- CalculusFieldElement used- Parameters:
orbit- orbit to maptype- type of the anglestateVector- flat array into which the state vector should be mapped (it can have more than 6 elements, extra elements are untouched)stateVectorDot- flat array into which the state vector derivative should be mapped (it can be null if derivatives are not desired, and it can have more than 6 elements, extra elements are untouched)
-
mapArrayToOrbit
public abstract <T extends CalculusFieldElement<T>> FieldOrbit<T> mapArrayToOrbit(T[] array, T[] arrayDot, PositionAngleType type, FieldAbsoluteDate<T> date, T mu, Frame frame) Convert state array to orbital parameters.Note that all implementations of this method must be consistent with the implementation of the
Orbit.getJacobianWrtCartesianmethod for the corresponding orbit type in terms of parameters order and meaning.- Type Parameters:
T- CalculusFieldElement used- Parameters:
array- state as a flat array (it can have more than 6 elements, extra elements are ignored)arrayDot- state derivative as a flat array (it can be null, in which case Keplerian motion is assumed,type- type of the angledate- integration datemu- central attraction coefficient used for propagation (m³/s²)frame- frame in which integration is performed- Returns:
- orbit corresponding to the flat array as a space dynamics object
-
convertToFieldOrbit
public abstract <T extends CalculusFieldElement<T>> FieldOrbit<T> convertToFieldOrbit(Field<T> field, Orbit orbit) Convert an orbit to the "Fielded" instance type.- Type Parameters:
T- CalculusFieldElement used- Parameters:
field- CalculusFieldorbit- base orbit- Returns:
- converted FieldOrbit with type guaranteed to match (so it can be cast safely)
- Since:
- 12.0
-
getDrivers
Get parameters drivers initialized from a reference orbit.- Parameters:
dP- user specified position errororbit- reference orbittype- type of the angle- Returns:
- parameters drivers initialized from reference orbit
-
normalize
public abstract <T extends CalculusFieldElement<T>> FieldOrbit<T> normalize(FieldOrbit<T> orbit, FieldOrbit<T> reference) Normalize one orbit with respect to a reference one.Given a, angular component ζ of an orbit and the corresponding angular component ζᵣ in the reference orbit, the angular component ζₙ of the normalized orbit will be ζₙ = ζ + 2kπ where k is chosen such that ζᵣ - π ≤ ζₙ ≤ ζᵣ + π. This is intended to avoid too large discontinuities and is particularly useful for normalizing the orbit after an impulsive maneuver with respect to the reference picked up before the maneuver.
- Type Parameters:
T- CalculusFieldElement used- Parameters:
orbit- orbit to normalizereference- reference orbit- Returns:
- normalized orbit (the type is guaranteed to match
OrbitParamsType) - Since:
- 11.1
-
normalize
Normalize one orbit with respect to a reference one.Given a, angular component ζ of an orbit and the corresponding angular component ζᵣ in the reference orbit, the angular component ζₙ of the normalized orbit will be ζₙ = ζ + 2kπ where k is chosen such that ζᵣ - π ≤ ζₙ ≤ ζᵣ + π. This is intended to avoid too large discontinuities and is particularly useful for normalizing the orbit after an impulsive maneuver with respect to the reference picked up before the maneuver.
- Parameters:
orbit- orbit to normalizereference- reference orbit- Returns:
- normalized orbit (the type is guaranteed to match
OrbitParamsType) - Since:
- 11.1
-
isPositionAngleBased
public abstract boolean isPositionAngleBased()Tells if the orbit type is based on position angles or not.- Returns:
- true if based on
PositionAngleType - Since:
- 12.0
-
scale
Compute scaling factor for parameters drivers.The scales are estimated from partial derivatives properties of orbits, starting from a scalar position error specified by the user. Considering the energy conservation equation V = sqrt(mu (2/r - 1/a)), we get at constant energy (i.e. on a Keplerian trajectory):
V r² |dV| = mu |dr|
So we deduce a scalar velocity error consistent with the position error. From here, we apply orbits Jacobians matrices to get consistent scales on orbital parameters.
- Parameters:
dP- user specified position errororbit- reference orbit- Returns:
- scaling factor array
-