LOOP over attitude file from task \task{atthkgen} Rebin attitude according to positional accuracy requirement specified by parameter attrebin. LOOP over chips For each chip, merge rebinned attitude bins with GTI and with time selections performed on the data Get exposure in each time bin from EXPOSURE extension END loop END loop Creation of instrument map and exposure map LOOP over CCDs LOOP over detector pixels (PIXCOORD1) Check if pixel is a bad pixel (from BADPIX extension), border pixel, or outside FOV (CAL_getFOVmap) Depending on flag selection keywords in the input image, check if pixel is neighbour of bad pixel or border pixel EXIT loop if one of the above is true Obtain quantum efficiency for each energy band (CAL_getQuantumEfficiency) Transform to PIXCOORD2 Obtain filter transmission (CAL_getFilterTransmission) and vignetting (CAL_get EffectiveArea) for each energy band For each energy band, multiply quantum efficency, filter transmission and vignetting and write to instrument map LOOP over attitude histogram Project detector pixels onto sky Multiply instrument map with exposure in attitude bin and distribute into sky pixels END of attitude loop END of detector pixel loop END of loop over chips Write exposure map to output