Class EpochTransformation


  • public final class EpochTransformation
    extends java.lang.Object
    Propagates the 6-dimensional vector of barycentric astrometric parameters and the associated covariance matrix from one epoch to another assuming uniform space motion
    Author:
    Alexey Butkevich (AGB) and Daniel Michalik (MIC), based on the algorithm developed by L. Lindegren. The algorithm is described in The Hipparcos and Tycho Catalogues (ESA SP-1200), Volume 1, Section 1.5.5, 'Epoch Transformation: Rigorous Treatment'.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void propagate​(double tau, double[] a0, double[] a)
      Propagates the 6-dimensional vector of barycentric astrometric parameters WITHOUT the associated covariance matrix from epoch t0 to epoch t assuming uniform space motion.
      static void propagate​(double tau, double[] a0, double[][] c0, double[] a, double[][] c)
      Propagates the 6-dimensional vector of barycentric astrometric parameters and the associated covariance matrix from epoch t0 to epoch t assuming uniform space motion.
      static void propagate​(double tau, double[] a0, double[][] c0, double[] a, double[][] c, boolean covInvertedToNormals)
      Propagates the 6-dimensional vector of barycentric astrometric parameters and the associated covariance or normal matrix from epoch t0 to epoch t assuming uniform space motion.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • propagate

        public static void propagate​(double tau,
                                     double[] a0,
                                     double[] a)
        Propagates the 6-dimensional vector of barycentric astrometric parameters WITHOUT the associated covariance matrix from epoch t0 to epoch t assuming uniform space motion. All values are given in rad (/timeunit). The time unit can be chosen arbitrarily, however needs to be consistent regarding tau and the time dependent values in astrometric parameters.
        Parameters:
        tau - epoch difference
        a0 - original source parameters in rad(/timeunit) in order:

        • alpha, right ascension at t0 [rad]
        • delta, declination at t0 [rad]
        • varPi, parallax at t0 [rad]
        • muAlphaStar, proper motion in R.A., mult by cos(Dec), at t0 [rad/timeunit]
        • muDelta, proper motion in Dec at t0 [rad/timeunit]
        • mu_R, normalised radial velocity at t0 [rad/timeunit]

        The normalised radial velocity at epoch t0 is given by vr0*varPi/4.740470446 where vr0 is the barycentric radial velocity in [km/s] at epoch t0; similarly, the propagated radial velocity is given as vr*varPi/4.740470446 at epoch t.

        a - propagated source parameters, order and units same as a0
      • propagate

        public static void propagate​(double tau,
                                     double[] a0,
                                     double[][] c0,
                                     double[] a,
                                     double[][] c)
        Propagates the 6-dimensional vector of barycentric astrometric parameters and the associated covariance matrix from epoch t0 to epoch t assuming uniform space motion. All values are given in rad (/timeunit) and rad(/timeunit) * rad(/timeunit) for the six astrometric parameters and the source covariance elements, respectively. The time unit can be chosen arbitrarily, however needs to be consistent regarding tau and the time dependent values in the astrometric parameters and the covariance matrix.
        Parameters:
        tau - epoch difference in arbitrary timeunit
        a0 - original source parameters in rad(/timeunit) in order:

        • alpha, right ascension at t0 [rad]
        • delta, declination at t0 [rad]
        • varPi, parallax at t0 [rad]
        • muAlphaStar, proper motion in R.A., mult by cos(Dec), at t0 [rad/timeunit]
        • muDelta, proper motion in Dec at t0 [rad/timeunit]
        • mu_R, normalised radial velocity at t0 [rad/timeunit]

        The normalised radial velocity at epoch t0 is given by vr0*varPi/4.740470446 where vr0 is the barycentric radial velocity in [km/s] at epoch t0; similarly, the propagated radial velocity is given as vr*varPi/4.740470446 at epoch t.

        c0 - original 6x6 covariance matrix in rad(/timeunit) * rad(/timeunit) defining the variance-covariance of the six astrometric parameters in their order defined as for array a0.
        a - propagated source parameters, order and units as a0
        c - propagated covariance matrix, order and units as c0
      • propagate

        public static void propagate​(double tau,
                                     double[] a0,
                                     double[][] c0,
                                     double[] a,
                                     double[][] c,
                                     boolean covInvertedToNormals)
        Propagates the 6-dimensional vector of barycentric astrometric parameters and the associated covariance or normal matrix from epoch t0 to epoch t assuming uniform space motion. All values are given in rad (/timeunit) and rad(/timeunit) * rad(/timeunit) for the six astrometric parameters and the source covariance elements, respectively. If Normals are supplied, the units are 1/unit stated. The time unit can be chosen arbitrarily, however needs to be consistent regarding tau and the time dependent values in the astrometric parameters and the covariance matrix.
        Parameters:
        tau - epoch difference in arbitrary timeunit
        a0 - original source parameters in rad(/timeunit) in order:

        • alpha, right ascension at t0 [rad]
        • delta, declination at t0 [rad]
        • varPi, parallax at t0 [rad]
        • muAlphaStar, proper motion in R.A., mult by cos(Dec), at t0 [rad/timeunit]
        • muDelta, proper motion in Dec at t0 [rad/timeunit]
        • mu_R, normalised radial velocity at t0 [rad/timeunit]

        The normalised radial velocity at epoch t0 is given by vr0*varPi/4.740470446 where vr0 is the barycentric radial velocity in [km/s] at epoch t0; similarly, the propagated radial velocity is given as vr*varPi/4.740470446 at epoch t.

        c0 - original 6x6 covariance matrix in rad(/timeunit) * rad(/timeunit) defining the variance-covariance of the six astrometric parameters in their order defined as for array a0.
        a - propagated source parameters, order and units as a0
        c - propagated covariance matrix, order and units as c0
        covInvertedToNormals - if true then c0 and c are normal matrices rather than covariances and will be handled accordingly