rgsangles (rgsangles-4.9.2) [xmmsas_20211130_0941-20.0.0]

Description

The main purpose of this task is the correction for attitude drifts using the dispersion coordinate system. The dispersion coordinates are defined based on the position and on the orientation of the RGA, and have two components: the dispersion angle BETA and the cross dispersion angle XDSP. Under the assumption that the relative movement between the RGA and the RFC is negligible (stable telescope tube), these angles can be calculated per event solely from the pixel locations of the event on the RFC and from the relative alignment of RGA and RFC. This calculation is performed by a CAL call (using the coordinate converter modes) in rgsevents, which adds BETA and XDSP to the event list. Each event is therefore associated with a position in dispersion coordinates.

The measured position of an event (BETA, XDSP) depends on the wavelength of the photon and the position of the X-ray source in the field of view (FOV) of the telescope. A drift of the telescope changes the position of the source in the FOV which results in a blurred wavelength spectrum.

While the aspect drift correction in the cross-dispersion coordinate is straightforward and similar to an imaging instrument, the approach in the dispersion direction is to absorb the aspect drift correction in the calculation of the dispersion coordinate from the RGA-RFC geometry. This approach of the drift correction is described in the following.

The following description is given in RGS FOV coordinates (,), which relate to the angles (,) of the TELCOORD system in the following way:

(1)

Hence describes the angular component of an off-axis source
parallel to the dispersion direction, and its component
anti-parallel to the cross-dispersion.
X-rays from a source which is at angles (,) have the following angle of incidence on the gratings of the RGA:

with the nominal angle of incidence for an on-axis source , the focal length , and the distance between RGA and prime focus (nominal: , ; exact values depend on the distances of the reference points of the RGA and of the RFC, and are provided by the CAL. Aspect drift is described by adding its amount along the dispersion direction to . Note that for non-negligible drift in roll, also is a function of roll drift and source off-axis angle, because and are angles in the RGA frame (i.e. along the dispersion direction).

From the dispersion relation

with the grating incidence angle (measured from the grating surface), the grating exit angle , grating line density and order for a given wavelength . It follows from (3) for variations of & by differentiation

(4)

or

(5)

Using (2) and the aspect drift , this becomes

With this formulation, the drift of attitude is described as corrections in dispersion coordinates. This effectively means that the RFC moves in -space and has the side effect that the same correction has to be used for the calculation of the exposure maps. For this reason the evaluation of these equations are part of rgslib.

It can also be seen from (6) that the amount of correction of the dispersion angle is dependent in the position of the source in the FOV (through ). In order to achieve best possible accuracy, this correction should be performed per source that is to be considered in the RGS FOV. Hence the dependence on the source index in the RGS SRCLIST table.

The absolute values of and have to be determined
for a given starting value of the pointing of the telescope. This is
called *reference attitude* and basically means that this is the
on-axis sky position to which the telescope points after the attitude
drift correction was performed. Different choices of reference
attitudes will cause absolute offsets of the amounts of
accordingly, and it is therefore optimal to choose a center of
reference that is close to the actual pointing.

The reference attitude is provided by the SRCLIST table. The reference attitude is added to the EVENTS table with the keywords RA_PNT, DEC_PNT and APOS_PNT.

The source position, from which is calculated with respect to the center of the reference attitude, is read from the SRCLIST table, too. The source position that is used in correction described in equation (6) is added to the EVENTS table with the keywords RA_OBJ and DEC_OBJ. The row number of the source in the SRCLIST table is written to the EVENTS header with keyword SOURCEID.

It has been described before that and have to be
available in instrument specific coordinates, namely along the
dispersion direction. The following steps have to be performed in
order to obtain the components of the source position along dispersion ()
and cross dispersion () direction (implemented in
rgslib).^{}

The calculation of the components of the source position with respect to the reference attitude is performed as follows. First the reference attitude matrix is calculated from the reference pointing as specified by with

The reference attitude is multiplied by the instrument specific
BoreSight matrix, such that *RefAtt* holds the instrument specific
attitude matrix.

Next the source position (Ra,Dec) is converted to a Cartesian sky vector with

and the Cartesian position of the source for the reference attitude is obtained in the instrument specific FOV coordinates by

The angles in the dispersion direction and in the cross-dispersion direction are obtained straightforwardly from the Cartesian components

The calculations of equations (7)–(10)
are performed by the rgslib
function

offAxisAngles(referenceAttitude,sourcePos).

Attitude drifts cause variations (, ) to
and as calculated in equation (10) and are
calculated in instrument FOV coordinates as well as variations from
the reference pointing. First and are
evaluated equivalent to the steps described above
(equations (8)–(10)), but instead of the the source
pointing the pointing of the reference attitude is used. This yields
together with
the starting values for and to be used for the calculation of
and .^{}Then and are calculated for each available
attitude, and the angles of the drift (, ) are
just the differences between those obtained for the reference attitude
and the time dependent attitude. Let *VarAtt* be the attitude of the
instrument as a function of time, then

The multiplication with the BoreSight here is necessary, as OAL_getAttitude returns the attitude of the star tracker as a function of time. Similar as above in (9), the position of the reference pointing in the (drifted) FOV in Cartesian coordinates is obtained by multiplication, and

(12)

and the components of the drift then follow with equation (10) according to

The calculations of equations (11)–(13)
are performed by the rgslib
function

gratingAspectAngles(time, referenceAttitude),
which returns an array holding
, and also
includes the calculation of and according to
equations (7)–(10), but for the reference
pointing. The values of
and are added to the EXPOSU0n table as columns
ASPCDSP and ASPCXDSP respectively.

For each event the aspect correction is calculated using equation (6). The drift independent term is written as keyword ASPFACT1 to the EVENTS header for use by task rgsexposure.

The drift corrected columns BETA_CORR XDSP_CORR are binned into int16 channel columns BETA_CHANNEL and XDSP_CHANNEL. The binning can be specified either by the number of bins together with the ranges in BETA_CORR and XDSP_CORR, or by specifying the bin-size and a reference value for the first channel. Keywords TCRVL (formerly BETA_REF, XDSP_REF) and TCDLT (formerly BETA_WID, XDSP_WID) specify the midpoint of the first bin and the bin width used for the binning. Depending on the data range and binning, channel numbers could become negative. Channel values outside the integer 16 range will cause a fatal error condition.

In order to secure against wrong values of BETA_CORR and XDSP_CORR which could arise from a bad choice of the reference attitude, a range check is performed on these values, and a warning is generated when unreasonable values are encountered.

The following optional columns can be added to the event table for investigation of the intermediate results:

- The spacecraft pointing in (rad) SC_POINTING_RA SC_POINTING_DEC SC_POINTING_POS: this is the pointing as a function of time as provided by the OAL, without aspect drift correction (this is provided for debugging purposes for subsequent tasks, which do not use the OAL).
- M_LAMBDA order wavelength product from dispersion relation (3) using corrected and as inputs.

Since version 4.7.2, rgsangle task is able to correct M_LAMBDA column from:

- The systematic trend of the line shift with the angular distance
between the Sun and the spacecraft -X axis (i.e. the pointing
direction). This trend can be parametrised as a linear relation
between both quantities, and can be applied using the
withsunanglecorr parameter. The same correction is applied for both orders.
- The velocity of the Earth with respect to the barycentre of the Solar System, projected in the
direction of the target. This velocity correction can be applied using
the parameter withheliocentriccorr

XMM-Newton SOC -- 2021-11-30