FUNCTION n0003_effic_corr, es, is, ZERO_EFFIC=zero_effic ;+ ; FUNCTION n0003_effic_corr, es, is ; ----------------------------------------- ; CALDB critical ; ----------------------------------------- ; ; This function returns a FIRST (or ZERO) order correction factor to be ; applied to the 'N0002 multi vertex shell efficiencies ; in order to get them in better agreement with the ; expected changes to efficiency that will occur when: ; - the new optical-constants (990510) and ; - the X-GEF reference grating PSPC effective effic.s corrections ; (see ddidl /xgef_anc/[HX220|MX078]_pspc2-5corr.lnf ) ; are used to create new subassembly efficiency predictions. ; ; INPUTS ; "es" is an array of energies in keV ; "is" is an integer indexing the HETG shell= 0,1,2,3 for ; shells 1,3,4,6 (as in cip_weights_and_errors.pro) ; /ZERO_EFFIC returns the correction for zero order. ; ; -------------------------------------------------- ; 1999-07-14 dd Initial creation. Values based on running ; xgef_analysis, /PSPC_FITS,/AMP ; xgef_analysis, /PSPC_FITS,/AMP, /CORRECTIONS ; on some flight grating X-GEF tests and noting the ; changes in predicted efficiency. Only the major ; changes are included here. ; -------------------------------------------------- ;- if KEYWORD_SET(ZERO_EFFIC) then begin ; ZERO-ORDER corrections if is LE 1 then begin ; MEG lu_es = [0.01, 0.6, 0.85, 100.0] lu_corrs = [0.95, 0.95, 1.0, 1.0] end else begin ; HEG lu_es = [0.01, 1.0, 1.4, 100.0] lu_corrs = [1.20, 1.20, 1.0, 1.0] end end else begin ; FIRST-ORDER corrections if is LE 1 then begin ; MEG lu_es = [0.01, 0.6, 1.0, 100.0] lu_corrs = [0.90, 0.90, 1.0, 1.0] end else begin ; HEG lu_es = [0.01, 0.7, 1.0, 2.0, 100.0] lu_corrs = [1.20, 1.20, 1.15, 1.0, 1.0] end end ; Do linear interpolation in "correction-logE" space: corrs = INTERPOL_SORT(lu_corrs, ALOG(lu_es), ALOG(es > 0.01) ) RETURN, corrs END