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