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

    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

      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]