rotate_coord

This IDL facility provides a means to rotate a set of 3D position vectors (and their Stokes parameters Q and U) between to astrophysical coordinate systems or by an arbitrary rotation.

Location in HEALPix directory tree: src/idl/misc/rotate_coord.pro 


FORMAT

IDL> Outvec = rotate_coord(Invec [, Delta_Psi=, Euler_Matrix=, Inco=, Outco=, Stokes_Parameters=, /free_norm, /help] )


QUALIFIERS

Invec
input, array of size (n,3) : set of 3D position vectors
Outvec
output, array of size (n,3) : rotated 3D vectors, with the same norms as the input vectors
Delta_Psi
output, vector of size (n) containing the change in azimuth $\Delta\psi$ in Radians resulting from the rotation (measured with respect to the local meridian, from South to East), so that for field of spin s the output Q',U' is related to the input Q,U via $Q' = Q \cos (s\Delta\psi) - U \sin (s\Delta\psi),\ $ $U' = U \cos (s\Delta\psi) + Q \sin (s\Delta\psi), $ with s=2 for polarization Stokes parameters (for which the specific Stokes_Parameters is also available).
Euler_Matrix=
input, array of size (3,3). Euler Matrix describing the rotation to apply to vectors. default:identity : no rotation.
Can not be used together with a change in coordinates.
Inco=
input, character string (either 'Q' or 'C': equatorial, 'G': galactic or 'E': ecliptic) describing the input coordinate system
Outco=
input, character string (see above) describing the output coordinate system.
Can not be used together with Euler_Matrix
Stokes_Parameters=
input and output, array of size (n, 2) : values of the Q and U Stokes parameters on the sphere for each of the input position vector. Q and U are defined wrt the local meridian and parallel and are therefore transformed in a non-trivial way in case of rotation


KEYWORDS

/free_norm
if set (and Stokes_Parameters and/or Delta_Psi are present) the input (and output) coordinate vectors are not assumed to be normalized to 1. Using this option is therefore safer, but 20 to 30% slower. (Note that 3D vectors produced by ang2vec, pix2vec_nest and pix2vec_ring are properly normalized). Ignored when Stokes_Parameters and Delta_Psi are both absent.
/help
if set, the documentation header is printed and the routine exits


DESCRIPTION

rotate_coord is a generalisation of the Astro library routine skyconv. It allows a rotation of 3D position vectors between two standard astronomic coordinates system but also an arbitrary active rotation described by its Euler Matrix. It can also compute how the linear polarization Stokes parameters (Q and U, expressed in local coordinates system) of each input location are affected by the solid body rotation, or equivalently it can output the corresponding change in azimuth.


RELATED ROUTINES

This section lists the routines related to rotate_coord

idl
version 6.4 or more is necessary to run rotate_coord.
euler_matrix_new
constructs the Euler Matrix for a set of three angles and three axes of rotation
ang2vec, pix2vec_*
can be used to generate the input 3D vectors

Version 3.82, 2022-07-28