XMM-Newton Science Analysis System
evproject (attcalc2-1.5) [xmmsas_20211130_0941-20.0.0]
This task has been developed from, and is intended to replace, the sas task attcalc. Why write a whole new package, rather than modifying the existing attcalc? This breaks into two separate queries:
- Q: what in attcalc
needed improving? A: it seems now to be generally accepted among the SAS development team that the coordinate transform routine employed by attcalc
contains an error (it results in an inversion of the sign of the boresight roll angle).
- Q: why retain the old attcalc? A: it is mostly a question of inertia. This error has now been thoroughly built into the system and quite a lot of tasks would need to be re-written if attcalc
were to be simply replaced by evproject. In fact no ill effects are felt in the present sas, firstly because attcalc
has itself been used to deduce the boresight angles, which are therefore themselves incorrect in this matter of roll-angle sign; secondly because other tasks which need to perform the same transform have `cut-and-pasted' the same (incorrect!) code from attcalc. The errors thus cancel in the existing sas. Problems begin only for a developer who wishes to create a new task which is to calculate the same transform, and who wishes not to go on copying the same error in perpetuity.
The differences between attcalc
and evproject, which are mostly structural rather than functional, are as follows:
- The error in the coordinate transform has been corrected;
- The transform routine is now available as a library function;
- The construction of the attitude time series has been separated off into the library binned_att.
Finally, why the change of name? Because I felt that `attcalc' is not very descriptive of the main function of the task, which is to calculate the position of each event on a sky projection plane. When it was decided to create a new package, I thus seized the opportunity to change the name of the main task to something more suggestive of its function.
XMM-Newton SOC -- 2021-11-30