dustem_sed_plot.pro
2.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
PRO dustem_sed_plot,p_min,_extra=_extra,function_name=function_name,pol=pol,legend_xpos=legend_xpos,legend_ypos=legend_ypos,ps=ps,png=png,fpol=fpol
IF not keyword_set(function_name) THEN BEGIN
;Run dustem with as an interface to mpfitfun; what does this mean? This whole procedure will have to be changed
;stop
;== JPB: st used to come out from here
;even when not set. Had to replavce by out_st ...
; act_wins=0
; FOR i=0L,n_tags(!dustem_data)-1 DO BEGIN
; IF isa(!dustem_data.(i)) THEN act_wins+=1
; ENDFOR
dustem_sed=dustem_compute_sed(p_min,st=st,out_st=out_st)
st=out_st
;dustem_plot_fit_sed,st,dustem_sed,cont,freefree,synchrotron,_extra=_extra,legend_xpos=legend_xpos,legend_ypos=legend_ypos
win=1;win-act_wins+1
IF keyword_set(ps) THEN dustem_plot_fit_sed,st,dustem_sed,win=win,_extra=_extra,legend_xpos=legend_xpos,legend_ypos=legend_ypos,ps=ps,png=png,use_model=use_model,fpol=fpol ELSE dustem_plot_fit_sed,st,dustem_sed,_extra=_extra,win=win,legend_xpos=legend_xpos,legend_ypos=legend_ypos,use_model=use_model,fpol=fpol
;I do not understand the reason begind the stop below - either way polarization is handled by other procedures
IF keyword_set(pol) THEN BEGIN
;stop
IF tag_exist(!dustem_data,'polsed') THEN BEGIN
IF isa(!dustem_data.polsed) THEN BEGIN
win+=1
dustem_polsed=dustem_compute_polsed(p_min,st=st)
dustem_plot_polsed, st, p_dim, dustem_polsed, aligned=aligned, win=win,_Extra=extra
ENDIF
ENDIF
IF tag_exist(!dustem_data,'polext') THEN BEGIN
IF isa(!dustem_data.polext) THEN BEGIN
win+=1
dustem_polext=dustem_compute_polext(p_min,st=st)
dustem_plot_polext, st, p_dim, dustem_polext, aligned=aligned, win=win,_Extra=extra
ENDIF
ENDIF
;dustem_plot_polar,st,ps=ps,_Extra=extra,help=help,UV=UV,SED=SED,Pfrac=Pfrac,print_ratio=print_ratio,win=win,cont=cont,donotclose=donotclose,aligned=aligned,noerrbars=noerrbars,multi=multi,almabands=almabands,nsmooth=nsmooth
ENDIF
ENDIF ELSE BEGIN
CASE function_name OF
'dustem_greybody_mpfit':BEGIN
dustem_sed=dustem_compute_gb_sed_fast(p_min,waves=ww,spec=spec)
; stop
dustem_gb_plot_fit_sed,ww,spec,dustem_sed,_extra=extra
END
ENDCASE
ENDELSE
END