PRO smd_compare, smd_filename ; Compare SMD data to model ; 2/24/94, 6/13/94 - dd ; @labx_common ; COMMON lx_smd_data, lx_smd_chans, lx_smd_counts, lx_smd_tname, $ ; lx_smd_sV, lx_smd_sI, lx_smd_time, lx_smd_echan ; Read the SMD pha data if(n_elements(smd_filename) EQ 0) then smd_filename = "Al.940602.1" labx_get_smd, "smd_data/"+smd_filename ; Don't use channels 0 and 1 if present chan_valid = where(lx_smd_chans GE 2) data_es = lx_smd_chans(chan_valid)*lx_smd_echan ; Convert counts to counts/sec.keV data_intens = lx_smd_counts(chan_valid)/(lx_smd_time(chan_valid)*lx_smd_echan) ; calculate the error data_err = SQRT(lx_smd_counts(chan_valid)) ; stat error in data data_ierr = data_err/(lx_smd_time*lx_smd_echan) ; Normalize to 0.1 mA data_intens = data_intens * (0.1/lx_smd_sI) data_ierr = data_ierr * (0.1/lx_smd_sI) ; Calculate the model lx_tname = lx_smd_tname lx_sV = lx_smd_sV lx_sI = lx_smd_sI lx_time = lx_smd_time smd_spectrum, 0 ; phots/bin in lx_tubespec ; Plot the current model output plot_oo, lx_es, (0.1/lx_sI)*lx_tubespec/(lx_estep*lx_time), $ TITLE='SMD Model and Data ('+smd_filename+')', $ XTITLE='keV', YTITLE='Intensity (counts/sec.keV per 0.1 mA)', $ XRANGE=[0.1,10.],YRANGE=[1.0,1.E6], PSYM=10 ; Overplot the data data_symbol = 3 if (n_elements(data_es) LT 100) then data_symbol = 4 oplot, data_es, data_intens, PSYM=data_symbol ; Add plot of error bars plot_errors, data_es-lx_smd_echan/2., data_es, data_es+lx_smd_echan/2., $ data_intens-data_ierr, data_intens+data_ierr oplot, [1.125],0.5*[4.4E5],PSYM=data_symbol plot_errors, [1.125-0.025],[1.125],[1.125+0.025],0.5*[3.7E5],0.5*[5.2E5] ; Key to plot oplot, [1.,1.25],[5.E5,5.E5] xyouts, 1.38,4.4E5, 'Model ('+ $ STRING(TOTAL((0.1/lx_sI)*lx_tubespec)/lx_time, $ FORMAT="(F7.0)") + ' cnts/sec. @ 0.1 mA)' xyouts, 1.38,0.5*4.4E5, 'Data w/error bars ' xyouts, 1.38,0.7*0.5*4.4E5, $ ' E/chan = '+STRING(1.E3*lx_smd_echan,FORMAT="(F6.2)")+' eV' ; Add annotation about source model parameters notes = [1,1,0,0,0,0,0,0,0,1,1] labx_annotate, notes, 0.15, 0.28 RETURN END