Package gaiasky.util.gaia
Interface Attitude
-
- All Known Implementing Classes:
ConcreteAttitude
public interface AttitudeThis 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 Instance Methods Abstract 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).QuaterniondgetQuaternion()QuaterniondgetQuaternionDot()Vector3dgetSpinVectorInIcrs()Get the inertial spin vector in the ICRS (or CoMRS).Vector3dgetSpinVectorInSrs()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).longgetTime()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]
-
-