precess_single

sofia_redux.scan.coordinate_systems.epoch.precession_numba_functions.precess_single(p, ra, dec, cos_lat, sin_lat)[source]

Precess the coordinates with a precession matrix.

RA and DEC coordinates are updated in-place according to:

v0 = cos(DEC) * cos(RA)
v1 = cos(DEC) * sin(RA)
v2 = sin(DEC)

l = p X |v0 v1 v2| (where X indicates matrix multiplication)

RA_precessed = arctan2(l[1], l[0])
DEC_precessed = arctan2(l[2], sqrt(l[0]^2 + l[1]^2))
Parameters:
pnumpy.ndarray (float)

The precession matrix of shape (3, 3)

ranumpy.ndarray (float)

The Right Ascension coordinates in radians of shape (shape).

decnumpy.ndarray (float)

The Declination coordinates in radians of shape (shape).

cos_latnumpy.ndarray (float)

The cosine(latitude) values of the coordinates of shape (shape).

sin_latnumpy.ndarray (float)

The sine(latitude) values of the coordinates of shape (shape).

Returns:
None