public enum OrbitType extends Enum<OrbitType>
orbital
parameters types.Enum Constant and Description |
---|
CARTESIAN
Type for propagation in
Cartesian parameters . |
CIRCULAR
Type for propagation in
circular parameters . |
EQUINOCTIAL
Type for propagation in
equinoctial parameters . |
KEPLERIAN
Type for propagation in
Keplerian parameters . |
Modifier and Type | Method and Description |
---|---|
abstract <T extends org.hipparchus.RealFieldElement<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>> |
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>> |
mapOrbitToArray(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.
|
public static final OrbitType CARTESIAN
Cartesian parameters
.public static final OrbitType CIRCULAR
circular parameters
.public static final OrbitType EQUINOCTIAL
equinoctial parameters
.public static final OrbitType KEPLERIAN
Keplerian parameters
.public static OrbitType[] values()
for (OrbitType c : OrbitType.values()) System.out.println(c);
public static OrbitType valueOf(String name)
name
- the name of the enum constant to be returned.IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is nullpublic abstract Orbit convertType(Orbit orbit)
The returned orbit is the specified instance itself if its type already matches, otherwise, a new orbit of the proper type created
orbit
- orbit to convertpublic abstract void mapOrbitToArray(Orbit orbit, PositionAngle type, double[] stateVector, double[] stateVectorDot)
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.
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)public abstract Orbit mapArrayToOrbit(double[] array, double[] arrayDot, PositionAngle type, AbsoluteDate date, double mu, Frame frame)
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.
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 performedpublic abstract <T extends org.hipparchus.RealFieldElement<T>> FieldOrbit<T> convertType(FieldOrbit<T> orbit)
The returned orbit is the specified instance itself if its type already matches, otherwise, a new orbit of the proper type created
T
- RealFieldElement usedorbit
- orbit to convertpublic abstract <T extends org.hipparchus.RealFieldElement<T>> void mapOrbitToArray(FieldOrbit<T> orbit, PositionAngle type, T[] stateVector, T[] stateVectorDot)
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.
T
- RealFieldElement usedorbit
- 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)public abstract <T extends org.hipparchus.RealFieldElement<T>> FieldOrbit<T> mapArrayToOrbit(T[] array, T[] arrayDot, PositionAngle type, FieldAbsoluteDate<T> date, double mu, Frame frame)
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.
T
- RealFieldElement usedarray
- 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 performedpublic abstract ParameterDriversList getDrivers(double dP, Orbit orbit, PositionAngle type) throws OrekitException
dP
- user specified position errororbit
- reference orbittype
- type of the angleOrekitException
- if Jacobian is singularprotected double[] scale(double dP, Orbit orbit) throws OrekitException
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.
dP
- user specified position errororbit
- reference orbitOrekitException
- if Jacobian is singularCopyright © 2002-2017 CS Systèmes d'information. All rights reserved.