subroutine epexposure Read all parameters Open input event list(s) and auxiliary file from single exposure * call evlistcomb in addition to epn default also propagate the FRAME column (this is needed to link the event list with CYCLE counters in the AUX file) * call evselect to create CCD specific filtered versions of the AUX file * call make_epexposure to actually perform the livetime computation end subroutine epexposure ------------------------------ subroutine make_epexposure Read all parameters (passed on from epexposure) Open merged events file Open filtered(=CCD specific) auxiliary file Open housekeeping file Open frames output file and fill the primary header Create frames table extension (one per CCD) (this is temporarily used to collect counter info and to store livetime factors per frame) Create and fill columns: FRAME TIME: computed via call OAL_frameCounterToObt(aux1frameCol,obttags) call OAL_obtToTimeTag(obttags,timetags) for all frames which have an entry in the auxiliary file compute time tags for all remaining frames from time steps Extract chopper value of quadrant under consideration: An_CHOP from housekeeping file, error if An_CHOP not constant, store An_CHOP as attribute Extract number of cycles after which count info is sent: An_MAXFRC from housekeeping file, error if An_MAXFRC not constant NDISCLIN: extracted from auxiliary file, valid for An_MAXFRC frames Extract number of active CCDs in quadrant under consideration: An_CCDSEL from housekeeping file, error if An_CCDSEL not constant FC1: MIP dependent quadrant livetime factor (based on NDISCLIN, An_MAXFRC and An_CCDSEL) NEPDH: extracted from auxiliary file, valid for An_MAXFRC frames NEVENTS: computed number of raw events per frame from merged event list FC2: MIP dependent CCD livetime factor (based on EXPOSURE extension prepared by `epframes') flag all frames as bad where NEPDH /= NEVENTS (if ground MIP correction is active, NEPDH has to be reduced by rejected counts) Modify CCD specific EXPOSURE extension: add enough FRAME entries to store changing livetime factors Compute FRACEXP entries: epframes took care of FC0, now additional multiplication with FC1 and FC2 Compute livetime corrected exposure time and store it as attribute end subroutine make_epexposure