XMM-Newton Science Analysis System
rgsframes (rgsframes-3.19) [22.0.0-9173c7d25-20250127]
Algorithm
Make local copy of the events set
Open AUX file belonging to input set.
if mode == 'HTR' {
Subroutine calculateHTRFrameTimes
open event lists of all CCD
sum of all Delta_T to create times per frame
}
Subroutine addExposureTable
find rows of AUX1 table with CCDID = current CCD
copy only these rows of columns from AUX1 to EXPOSURE table
close AUX1 table
find and delete duplicate rows of EXPOSURE table
sort and check EXPOSURE table
set BAD_FRAME flag
if mode == 'SPECTROSCOPY' {
Subroutine processFrameTimes
calculate frame integration times
calculate frame event time by setting time to mid of exposure period
}
else mode == 'HTR' {
Subroutine fillHTRFrameTimes
per frame, find corresponding time
calculate frame integration time
set BAD_FRAME flag based on minexposuretime
}
Subroutine processPixelTable
add standard attributes
correct frame numbersof PIXEL table for int16 wrap around
rename RAWX/RAWY to TELX/TELY
find and delete duplicate rows of PIXEL table
create new RAWX/Y and shift pixel number by +1
if more /= 'HTR'
add SHAPE and GRADE columns based on dpp software version
if windowdx indicates Single Readout Node "pseudo-mode"
revert pixel positions to dual node scheme
and set SINGLERO keyword in events header to 1
else
set SINGLERO keyword in events header to 0
Subroutine addFracExposure
start loop Nodes
get number of uplinked bad pixels from CAL
calculate FRACEXP
end loop Nodes
if mode == 'HTR' set FRACEXP = 1 (no processing)
Subroutine Pixels_and_Frames
optional: add frame rate column
optional: set BAD_FRAME flag for number of pixels per frame > maxrawpixels
optional: set BAD_FRAME flag for number of pixels per second > maxrawpixelrate
Subroutine createGTI
add GTI table
Subroutine cleanupExposureTable
delete unwanted columns from EXPOSURE table
XMM-Newton SOC -- 2025-01-27