Package gaiasky.util.gaia
Interface Attitude
 All Known Implementing Classes:
ConcreteAttitude
public interface Attitude
This is the basic interface for all attitude representations and scanning
laws. An Attitude represents the threedimensional orientation
of the SRS of Gaia at a specific instant in time as well as its inertial
angular rotation at that moment.
Getters exists to provide the attitude and inertial rotation in various
forms, including a quaternion (
getQuaternion()
, a set of heliotropic
or equatorial angles and corresponding time derivatives. There are
also methods to obtain a number of attituderelated quantities, e.g., the
celestial pointings of two FOVs and the AL and AC rates for a particular
point in the FoV.
Method Summary
Modifier and Type Method Description double[]
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[]
getFovDirections()
Get the PFoV and FFoV directions as an array of unit vectors expressed in the ICRS (or CoMRS).Quaterniond
getQuaternion()
Quaterniond
getQuaternionDot()
Vector3d
getSpinVectorInIcrs()
Get the inertial spin vector in the ICRS (or CoMRS).Vector3d
getSpinVectorInSrs()
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.

Method Details

getTime
long getTime()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. Returns:
 time time that the attitude is valid for

getQuaternion
Quaterniond getQuaternion() Returns:
 quaternion that represents the attitude

getQuaternionDot
Quaterniond getQuaternionDot() Returns:
 time derivative [1/day] of the quaternion returned by
getQuaternion()

getSpinVectorInSrs
Vector3d getSpinVectorInSrs()Get the inertial spin vector in the SRS. Returns:
 spin vector in [rad/day] relative to SRS

getSpinVectorInIcrs
Vector3d getSpinVectorInIcrs()Get the inertial spin vector in the ICRS (or CoMRS). Returns:
 spin vector in [rad/day] relative to ICRS

getFovDirections
Vector3d[] getFovDirections()Get the PFoV and FFoV directions as an array of unit vectors expressed in the ICRS (or CoMRS). Returns:
 array of two (PFoV, FFoV3) vectors

getSrsAxes
Get the x, y, z axes of the SRS as an array of three unit vectors expressed in the ICRS (or CoMRS). Returns:
 array of three (x, y, z) vectors

getAlAcRates
double[] 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). Parameters:
alInstrumentAngle
 (=AL angle phi) of the direction [rad]acFieldAngle
 (=AC angle zeta) of the direction [rad] Returns:
 twoelement double array containing the angular speed AL and AC [rad/s]

getAlAcRates
Compute the angular speed AL and AC of an inertial direction in the SRS frame, using field angles (fov, eta, zeta). Parameters:
fov
 FOV (Preceding or Following)alFieldAngle
 (=AL angle eta) of the direction [rad]acFieldAngle
 (=AC angle zeta) of the direction [rad] Returns:
 twoelement double array containing the angular speed AL and AC [rad/s]
