Enum OrbitType
- java.lang.Object
-
- java.lang.Enum<OrbitType>
-
- org.orekit.orbits.OrbitType
-
- All Implemented Interfaces:
Serializable
,Comparable<OrbitType>
public enum OrbitType extends Enum<OrbitType>
Enumerate fororbital
parameters types.
-
-
Enum Constant Summary
Enum Constants Enum Constant Description CARTESIAN
Type for propagation inCartesian parameters
.CIRCULAR
Type for propagation incircular parameters
.EQUINOCTIAL
Type for propagation inequinoctial parameters
.KEPLERIAN
Type for propagation inKeplerian parameters
.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract <T extends org.hipparchus.RealFieldElement<T>>
FieldOrbit<T>convertType(FieldOrbit<T> orbit)
Convert an orbit to the instance type.abstract Orbit
convertType(Orbit orbit)
Convert an orbit to the instance type.abstract ParameterDriversList
getDrivers(double dP, Orbit orbit, PositionAngle type)
Get parameters drivers initialized from a reference orbit.abstract Orbit
mapArrayToOrbit(double[] array, double[] arrayDot, PositionAngle type, AbsoluteDate date, double mu, Frame frame)
Convert state array to orbital parameters.abstract <T extends org.hipparchus.RealFieldElement<T>>
FieldOrbit<T>mapArrayToOrbit(T[] array, T[] arrayDot, PositionAngle type, FieldAbsoluteDate<T> date, double mu, Frame frame)
Convert state array to orbital parameters.abstract <T extends org.hipparchus.RealFieldElement<T>>
voidmapOrbitToArray(FieldOrbit<T> orbit, PositionAngle type, T[] stateVector, T[] stateVectorDot)
Convert orbit to state array.abstract void
mapOrbitToArray(Orbit orbit, PositionAngle type, double[] stateVector, double[] stateVectorDot)
Convert orbit to state array.protected double[]
scale(double dP, Orbit orbit)
Compute scaling factor for parameters drivers.static OrbitType
valueOf(String name)
Returns the enum constant of this type with the specified name.static OrbitType[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
CARTESIAN
public static final OrbitType CARTESIAN
Type for propagation inCartesian parameters
.
-
CIRCULAR
public static final OrbitType CIRCULAR
Type for propagation incircular parameters
.
-
EQUINOCTIAL
public static final OrbitType EQUINOCTIAL
Type for propagation inequinoctial parameters
.
-
KEPLERIAN
public static final OrbitType KEPLERIAN
Type for propagation inKeplerian parameters
.
-
-
Method Detail
-
values
public static OrbitType[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (OrbitType c : OrbitType.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static OrbitType valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (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 type has no constant with the specified nameNullPointerException
- if the argument is null
-
convertType
public abstract Orbit convertType(Orbit orbit)
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, PositionAngle 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.getJacobianWrtCartesian
method 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, PositionAngle 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.getJacobianWrtCartesian
method 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
public abstract <T extends org.hipparchus.RealFieldElement<T>> FieldOrbit<T> convertType(FieldOrbit<T> orbit)
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
- RealFieldElement 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 org.hipparchus.RealFieldElement<T>> void mapOrbitToArray(FieldOrbit<T> orbit, PositionAngle 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.getJacobianWrtCartesian
method for the corresponding orbit type in terms of parameters order and meaning.- Type Parameters:
T
- RealFieldElement 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 org.hipparchus.RealFieldElement<T>> FieldOrbit<T> mapArrayToOrbit(T[] array, T[] arrayDot, PositionAngle type, FieldAbsoluteDate<T> 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.getJacobianWrtCartesian
method for the corresponding orbit type in terms of parameters order and meaning.- Type Parameters:
T
- RealFieldElement 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
-
getDrivers
public abstract ParameterDriversList getDrivers(double dP, Orbit orbit, PositionAngle type)
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
-
scale
protected double[] scale(double dP, Orbit orbit)
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
-
-