; hetgs_hrc_i
cip_dir = '/spectra/d6/CIP/'

; Read in CIP stuff...
;;hrma = rdb_read(cip_dir+'hrma.rdb')
;;hrcqe = rdb_read(cip_dir+'hrc_qe.rdb')
;;uvis = rdb_read(cip_dir+'hrc_uvis.rdb')
;;heg = rdb_read(cip_dir+'HEG_effic.rdb')
;;heg1 = INTERPOL(heg.op1, heg.energy, hrma.energy)
;;heg0 = INTERPOL(heg.oz, heg.energy, hrma.energy)
;;meg = rdb_read(cip_dir+'MEG_effic.rdb')
;;meg1 = INTERPOL(meg.op1, meg.energy, hrma.energy)
;;meg0 = INTERPOL(meg.oz, meg.energy, hrma.energy)
;;letg = rdb_read(cip_dir+'LEG_effic.rdb')
;;letg1 = INTERPOL(letg.op1, letg.energy, hrma.energy)
;;letg0 = INTERPOL(letg.oz, letg.energy, hrma.energy)

; HRC-I parameters
hrc_len = 90.0 ; mm
; dispersion distance coresponding to energies
leg_dist = 8634.*(12.3985/uvis.energy)/9912.2
meg_dist = 8634.*(12.3985/uvis.energy)/4001.41
heg_dist = 8634.*(12.3985/uvis.energy)/2000.81

; HEG
heg_calc = 0.9*(hrma.shell4 + hrma.shell6) * uvis.i * hrcqe.i * 2.*heg1
; Zero off-detector region
gap_reg = where(heg_dist GT hrc_len*1.414)
heg_calc(gap_reg) = 0.0
; MEG
meg_calc = 0.9*(hrma.shell1 + hrma.shell3) * uvis.i * hrcqe.i * 2.*meg1
; Zero off-detector region
gap_reg = where(meg_dist GT hrc_len*1.414)
meg_calc(gap_reg) = 0.0
; LEG
leg_calc = 0.9*(hrma.all) * uvis.i * hrcqe.i * 2.*letg1
; Zero off-detector region
gap_reg = where(leg_dist GT hrc_len*1.414)
leg_calc(gap_reg) = 0.0


; Plot it
pre_print_sqr
plot_oo, hrma.energy, heg_calc, YRANGE=[1.,100.], LINESTYLE=1, $
	TITLE='HETGS-HRC-I',$
	YTITLE = 'Effective Area combined 1st ord.s', $
	XTITLE = 'Energy (keV)', XRANGE=[0.1, 10.0]
oplot, hrma.energy, meg_calc, LINESTYLE = 2
oplot, hrma.energy, heg_calc + meg_calc

device, /close
set_plot, 'X'
SPAWN, 'ps2gif idl.ps'
SPAWN, 'cp idl.ps /nfs/spectra/d6/CIP/EA_HETG1-HI.ps'
SPAWN, 'cp idl.gif /nfs/spectra/d6/CIP/EA_HETG1-HI.gif'

pre_print_sqr
plot_oo, hrma.energy, leg_calc, YRANGE=[1.,100.], $
	TITLE='LETGS-HRC-I',$
	YTITLE = 'Effective Area combined 1st ord.s', $
	XTITLE = 'Energy (keV)', XRANGE=[0.05, 10.0], XSTYLE=1

device, /close
set_plot, 'X'
SPAWN, 'ps2gif idl.ps'
SPAWN, 'cp idl.ps /nfs/spectra/d6/CIP/EA_LETG1-HI.ps'
SPAWN, 'cp idl.gif /nfs/spectra/d6/CIP/EA_LETG1-HI.gif'

out_rdb = REPLICATE({energy:0.0, aeff:0.0}, n_elements(hrma.energy))
out_rdb.energy = hrma.energy
out_rdb.aeff = heg_calc
rdb_write, '/nfs/spectra/d6/CIP/EA_HEG1-HI.rdb', out_rdb

out_rdb = REPLICATE({energy:0.0, aeff:0.0}, n_elements(hrma.energy))
out_rdb.energy = hrma.energy
out_rdb.aeff = meg_calc
rdb_write, '/nfs/spectra/d6/CIP/EA_MEG1-HI.rdb', out_rdb

out_rdb = REPLICATE({energy:0.0, aeff:0.0}, n_elements(hrma.energy))
out_rdb.energy = hrma.energy
out_rdb.aeff = meg_calc + heg_calc
rdb_write, '/nfs/spectra/d6/CIP/EA_HETG1-HI.rdb', out_rdb

out_rdb = REPLICATE({energy:0.0, aeff:0.0}, n_elements(hrma.energy))
out_rdb.energy = hrma.energy
out_rdb.aeff = leg_calc
rdb_write, '/nfs/spectra/d6/CIP/EA_LETG1-HI.rdb', out_rdb


; Zero-orders
; HEG
heg_calc = 0.9*(hrma.shell4 + hrma.shell6) * uvis.i * hrcqe.i * heg0
; MEG
meg_calc = 0.9*(hrma.shell1 + hrma.shell3) * uvis.i * hrcqe.i * meg0
; LEG
leg_calc = 0.9*(hrma.all) * uvis.i * hrcqe.i * letg0


; Plot it
pre_print_sqr
plot_oo, hrma.energy, heg_calc, YRANGE=[1.,100.], LINESTYLE=1, $
	TITLE='HETGS-HRC-I',$
	YTITLE = 'Effective Area - Zero order', $
	XTITLE = 'Energy (keV)', XRANGE=[0.1, 10.0]
oplot, hrma.energy, meg_calc, LINESTYLE = 2
oplot, hrma.energy, heg_calc + meg_calc

device, /close
set_plot, 'X'
SPAWN, 'ps2gif idl.ps'
SPAWN, 'cp idl.ps /nfs/spectra/d6/CIP/EA_HETG0-HI.ps'
SPAWN, 'cp idl.gif /nfs/spectra/d6/CIP/EA_HETG0-HI.gif'

pre_print_sqr
plot_oo, hrma.energy, leg_calc, YRANGE=[1.,100.], $
	TITLE='LETGS-HRC-I',$
	YTITLE = 'Effective Area - Zero order', $
	XTITLE = 'Energy (keV)', XRANGE=[0.05, 10.0], XSTYLE=1

device, /close
set_plot, 'X'
SPAWN, 'ps2gif idl.ps'
SPAWN, 'cp idl.ps /nfs/spectra/d6/CIP/EA_LETG0-HI.ps'
SPAWN, 'cp idl.gif /nfs/spectra/d6/CIP/EA_LETG0-HI.gif'

out_rdb = REPLICATE({energy:0.0, aeff:0.0}, n_elements(hrma.energy))
out_rdb.energy = hrma.energy
out_rdb.aeff = heg_calc
rdb_write, '/nfs/spectra/d6/CIP/EA_HEG0-HI.rdb', out_rdb

out_rdb = REPLICATE({energy:0.0, aeff:0.0}, n_elements(hrma.energy))
out_rdb.energy = hrma.energy
out_rdb.aeff = meg_calc
rdb_write, '/nfs/spectra/d6/CIP/EA_MEG0-HI.rdb', out_rdb

out_rdb = REPLICATE({energy:0.0, aeff:0.0}, n_elements(hrma.energy))
out_rdb.energy = hrma.energy
out_rdb.aeff = meg_calc + heg_calc
rdb_write, '/nfs/spectra/d6/CIP/EA_HETG0-HI.rdb', out_rdb

out_rdb = REPLICATE({energy:0.0, aeff:0.0}, n_elements(hrma.energy))
out_rdb.energy = hrma.energy
out_rdb.aeff = leg_calc
rdb_write, '/nfs/spectra/d6/CIP/EA_LETG0-HI.rdb', out_rdb



; Finally, the LETG-HRC-S zero-order
; LEG
leg_calc = 0.9*(hrma.all) * uvis.st * hrcqe.s * letg0

out_rdb = REPLICATE({energy:0.0, aeff:0.0}, n_elements(hrma.energy))
out_rdb.energy = hrma.energy
out_rdb.aeff = leg_calc
rdb_write, '/nfs/spectra/d6/CIP/EA_LETG0-HS.rdb', out_rdb




; RETALL
; END