Package gaiasky.util.gaia
Interface IAttitude
- All Known Implementing Classes:
ConcreteAttitude
public interface IAttitude
This is the basic interface for all attitude representations and scanning
laws. An IAttitude 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
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 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.
-
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:
- two-element 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:
- two-element double array containing the angular speed AL and AC [rad/s]
-