Package gaiasky.util.gaia
Class ConcreteAttitude
java.lang.Object
gaiasky.util.gaia.ConcreteAttitude
- All Implemented Interfaces:
IAttitude
-
Constructor Summary
ConstructorDescriptionConcreteAttitude
(long t, QuaternionDouble q, boolean withZeroSigmaCorr) Construct object from time, and a quaternion.ConcreteAttitude
(long t, QuaternionDouble q, QuaternionDouble qDot, boolean withZeroSigmaCorr) Construct object from time, quaternion and its derivative. -
Method Summary
Modifier and TypeMethodDescriptiondouble[]
getAlAcRates
(double alInstrumentAngle, double acFieldAngle) Compute the angular speed AL and AC of an inertial direction in the SRS frame, using instrument angles (phi, zeta).double[]
getAlAcRates
(FOV fov, double alFieldAngle, double acFieldAngle) Compute the angular speed AL and AC of an inertial direction in the SRS frame, using field angles (fov, eta, zeta).Vector3d[]
Get the PFoV and FFoV directions as an array of unit vectors expressed in the ICRS (or CoMRS).Get the time derivative of the attitude.Get the inertial spin vector in the ICRS (or CoMRS).Get the inertial spin vector in the SRS.Vector3d[]
getSrsAxes
(Vector3d[] xyz) Get the x, y, z axes of the SRS as an array of three unit vectors expressed in the ICRS (or CoMRS).long
getTime()
Get the time that this attitude is valid for as a single long value.void
The the quaternion of the attitude.void
void
setTime
(long time) Set the time of the attitude.
-
Constructor Details
-
ConcreteAttitude
Construct object from time, and a quaternion. This leaves the time derivative undefined. It can be set later withsetQuaternionDot(QuaternionDouble)
- Parameters:
t
- time of the attitudeq
- quaternion
-
ConcreteAttitude
public ConcreteAttitude(long t, QuaternionDouble q, QuaternionDouble qDot, boolean withZeroSigmaCorr) Construct object from time, quaternion and its derivative.- Parameters:
t
- time of the attitudeq
- quaternionqDot
- time derivative of quaternion [1/day]
-
-
Method Details
-
getTime
public long getTime()Description copied from interface:IAttitude
Get the time that this attitude is valid for as a single long value. The meaning of the time depends on the TimeContext of the AttitudeDataServer that generated the attitude. Use #getGaiaTime() to get the time as an absolute GaiaTime if needed. -
setTime
public void setTime(long time) Set the time of the attitude. This usually does not make sense as the time is set during construction of the object- Parameters:
time
- time of the attitude in [ns] since reference epoch
-
getQuaternion
- Specified by:
getQuaternion
in interfaceIAttitude
- Returns:
- quaternion that represents the attitude
-
setQuaternion
The the quaternion of the attitude. * Set the time of the attitude. This usually does not make sense as the time is set during construction of the- Parameters:
q
-
-
getQuaternionDot
Get the time derivative of the attitude.- Specified by:
getQuaternionDot
in interfaceIAttitude
- Returns:
- time derivative of the attitude quaternion [1/day]
-
setQuaternionDot
- Parameters:
qDot
- quaternion derivative to set - all components in [1/day]
-
getHeliotropicAnglesRates
-
getSpinVectorInSrs
Description copied from interface:IAttitude
Get the inertial spin vector in the SRS.- Specified by:
getSpinVectorInSrs
in interfaceIAttitude
- Returns:
- spin vector in [rad/day] relative to SRS
-
getSpinVectorInIcrs
Description copied from interface:IAttitude
Get the inertial spin vector in the ICRS (or CoMRS).- Specified by:
getSpinVectorInIcrs
in interfaceIAttitude
- Returns:
- spin vector in [rad/day] relative to ICRS
-
getFovDirections
Description copied from interface:IAttitude
Get the PFoV and FFoV directions as an array of unit vectors expressed in the ICRS (or CoMRS).- Specified by:
getFovDirections
in interfaceIAttitude
- Returns:
- array of two (PFoV, FFoV3) vectors
-
getSrsAxes
Description copied from interface:IAttitude
Get the x, y, z axes of the SRS as an array of three unit vectors expressed in the ICRS (or CoMRS).- Specified by:
getSrsAxes
in interfaceIAttitude
- Returns:
- array of three (x, y, z) vectors
- See Also:
-
getAlAcRates
public double[] getAlAcRates(double alInstrumentAngle, double acFieldAngle) Description copied from interface:IAttitude
Compute the angular speed AL and AC of an inertial direction in the SRS frame, using instrument angles (phi, zeta).- Specified by:
getAlAcRates
in interfaceIAttitude
- Parameters:
alInstrumentAngle
- (=AL angle phi) of the direction [rad]acFieldAngle
- (=AC angle zeta) of the direction [rad]- Returns:
- two-element double array containing the angular speed AL and AC [rad/s]
-
getAlAcRates
Description copied from interface:IAttitude
Compute the angular speed AL and AC of an inertial direction in the SRS frame, using field angles (fov, eta, zeta).- Specified by:
getAlAcRates
in interfaceIAttitude
- Parameters:
fov
- FOV (Preceding or Following)alFieldAngle
- (=AL angle eta) of the direction [rad]acFieldAngle
- (=AC angle zeta) of the direction [rad]- Returns:
- two-element double array containing the angular speed AL and AC [rad/s]
-