## Function `astromUVW( ra, dec, pmra, pmdec, radial_velocity, r_parsec, useDoppler )`

Description:
  Calculates Cartesian components of velocity from the observed position and proper motion, radial velocity and radial distance, with optional light-time correction. The output is in the same coordinate system as the inputs, that is ICRS for the correspondingly-named Gaia quantities.

  The radial distance must be supplied using the `r_parsec` parameter. A naive estimate from quantities in the Gaia source catalogue may be made with the expression `1000./parallax`, though note that this simple inversion of parallax is not in general reliable for parallaxes with non-negligable errors.

  The calculations are fairly straightforward, following Eq. 1.5.74 from the Hipparcos catalogue. A (usually small) Doppler factor accounting for light-time effects can also optionally be applied. The effect of this is to multiply the returned vector by a factor of `1/(1-radial_velocity/c)`, as discussed in Eq. 1.2.21 of the Hipparcos catalogue.

  Note that no attempt is made to adjust for solar motion.

Parameters:
  `ra` (floating point)
    Right Ascension in degrees
  `dec` (floating point)
    Declination in degrees
  `pmra` (floating point)
    proper motion in RA * cos(dec) in mas/yr
  `pmdec` (floating point)
    proper motion in declination in mas/yr
  `radial_velocity` (floating point)
    radial velocity in km/s
  `r_parsec` (floating point)
    radial distance in parsec
  `useDoppler` (boolean)
    whether to apply the Doppler factor to account for light-time effects

Return Value (array of floating point):
  3-element vector giving equatorial velocity components in km/s

Examples:
  - `astromUVW(ra, dec, pmra, pmdec, radial_velocity, dist, true)`
  - `icrsToGal(astromUVW(ra, dec, pmra, pmdec, radial_velocity, 1000./parallax, false))`

Signature:
  `double[] astromUVW(double, double, double, double, double, double, boolean)`