Copy table referenced by parameter table
to output dataset (specified by parameter outset)
If withsettings is false, write dummy attributes CCDID, CCDNODE and (if instrument is EPN) QUADRANT, and set OAL state using the i/p event list.
Otherwise, set the state
according to the parameters
instrument,
datamode,
node,
and expnr.
Access FRAME and CCDID columns
of i/p table. If the instrument is EPN, access
the QUADRANT column as well.
Create a new table of the same name as the original in o/p dataset. Create a TIME column in new table.
For each row of i/p table
Get the CCD number: in the case of the MOS/RGS,
read the CCDID value. In the case
of PN, combine the CCDID
and QUADRANT values into a single
CCD number.
Group the CCD number and FRAME info into
a structure, and add this to a linked list.
End row loop
Sort CCD/FRAME linked list in order of CCD number.
Group linked list in blocks of constant CCD number
For each block of constant CCD number
Set OAL state for CCD Number
Call OAL to convert FRAME values
in block into UTC TIME (Using
the C++ equivalents of the F90
calls OAL_frameCounterToObt
and OAL_obtToTimeTag)