PRO dustem_gb_plot_fit_sed,ww,spec,sed, $ res=res,errors=errors,chi2=chi2,rchi2=rchi2, $ no_spec_error=no_spec_error, $ help=help,_extra=extra ;+ ; NAME: ; dustem_gb_plot_fit_sed ; PURPOSE: ; Plots a model and SED. Parameter values and error are ; printed on plot. Used for plotting results during fit. ; CATEGORY: ; Dustem ; CALLING SEQUENCE: ; dustem_gb_plot_fit_sed,ww,spec,sed[,/no_spec_error][,res=][,errors=][,chi2=][,rchi2=][/help][_extra=] ; INPUTS: ; ww = wavelengths for spec (micron) ; spec = Model spectrum ; sed = SED corresponding to the model ; OPTIONAL INPUT PARAMETERS: ; res = fit result values. If set values are written on plot. ; errors = fit result errors. If set values are written on plot. ; chi2 = fit chi^2. if set value is written on plot. ; rchi2 = Reduced fit chi^2. if set value is written on plot. ; _extra = extra parameters for the plot routine ; OUTPUTS: ; None ; OPTIONAL OUTPUT PARAMETERS: ; None ; ACCEPTED KEY-WORDS: ; help = If set, print this help ; COMMON BLOCKS: ; None ; SIDE EFFECTS: ; SED and model are plotted ; RESTRICTIONS: ; The dustem idl wrapper must be installed ; PROCEDURE: ; None ; EXAMPLES ; dustem_gb_plot_fit_sed,ww,spec,sed ; MODIFICATION HISTORY: ; Written by J.-Ph. Bernard ; see evolution details on the dustem cvs maintained at CESR ; Contact J.-Ph. Bernard (Jean-Philippe.Bernard@cesr.fr) in case of problems. ;- IF keyword_set(help) THEN BEGIN doc_library,'dustem_gb_plot_fit_sed' goto,the_end ENDIF use_col_sed_spec=170 ;color used for the model SED in spectrum channels use_col_sed_filt=80 ;color used for the model SED in filters use_model_color=150 ;color used for the model use_model_line=3 ;linestyle used for the model ;=== plot the data SED dustem_plot_data_sed,_extra=extra wav=(*(*!dustem_data).sed).wav values=(*(*!dustem_data).sed).values filt_names=(*(*!dustem_data).sed).filt_names sigma=(*(*!dustem_data).sed).sigma ;=== Over-Plot the computed SED ind_filt=where(filt_names NE 'SPECTRUM',count_filt) ind_spec=where(filt_names EQ 'SPECTRUM',count_spec) IF count_filt NE 0 THEN BEGIN plotsym,8 cgoplot,wav[ind_filt],sed[ind_filt],color=use_col_sed_filt,psym=8,syms=2 ENDIF IF count_spec NE 0 THEN BEGIN plotsym,0 cgoplot,wav[ind_spec],sed[ind_spec],color=use_col_sed_spec,psym=8,syms=0.5 ENDIF ;stop ;=== Over-Plot the Model cgoplot,ww,spec,color=use_model_color,linestyle=use_model_line frmt0='(A20)' ;used for parameter name frmt1='(1E10.2)' ;used for parameter value and error frmt2='(E10.2)' ;used for chi^2 IF keyword_set(res) THEN BEGIN offset=0.2 xy_xpos=500. Npar=n_elements(res) FOR i=0L,Npar-1 DO BEGIN sstr=(str_sep((*(*!dustem_fit).param_descs)(i),'(*!dustem_params).')) ssstr=sstr(n_elements(sstr)-1) str=string(ssstr+'=',format=frmt0)+string(res(i),format=frmt1) IF keyword_set(errors) THEN BEGIN str=str+textoidl('\pm')+string(errors(i),format=frmt1) ENDIF xyouts,xy_xpos,10^(1.-(i+1)*offset),str ENDFOR ENDIF IF keyword_set(chi2) THEN BEGIN xyouts,xy_xpos,10^(1.-(Npar+1)*offset),string('chi2=',format=frmt0)+string(chi2,format=frmt2) ;stop ENDIF IF keyword_set(rchi2) THEN BEGIN xyouts,xy_xpos,10^(1.-(Npar+2)*offset),string('red. chi2=',format=frmt0)+string(rchi2,format=frmt2) ;stop ENDIF the_end: END