## 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 three-dimensional 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 attitude-related quantities, e.g., the celestial pointings of two FOVs and the AL and AC rates for a particular point in the FoV.
• ### Method Summary

All Methods
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 Detail

• #### 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

`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).
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:
two-element double array containing the angular speed AL and AC [rad/s]
• #### getAlAcRates

```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).
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]