Commit b3f6f0166d5f0018193a595c674d6bc367c3dd91
1 parent
daa89ea5
Exists in
master
implemented changes due to plugin structure
Showing
5 changed files
with
69 additions
and
85 deletions
Show diff stats
src/idl/dustem_compute_polext.pro
... | ... | @@ -90,27 +90,29 @@ frac=POLEXT_spec/EXT_spec |
90 | 90 | tes=where(finite(frac) eq 0) |
91 | 91 | frac(tes)=0. |
92 | 92 | |
93 | - | |
94 | -scopes=tag_names((*!dustem_plugin)) | |
95 | -IF scopes[0] NE 'NONE' THEN BEGIN | |
93 | +plugin_tags=(*!dustem_plugin).name | |
94 | +ind=where(plugin_tags NE 'NONE',Nplugins) | |
95 | +IF Nplugins NE 0 THEN BEGIN | |
96 | 96 | ;IF ptr_valid(!dustem_plugin) THEN BEGIN |
97 | - for i=0L,n_tags(*!dustem_plugin)-1 do begin | |
98 | - if total(strsplit((*(*!dustem_plugin).(i).scope),'+',/extract) eq 'ADD_EXT') then EXT_spec+=(*(*!dustem_plugin).(i).spec)[*,0] | |
97 | + for i=0L,Nplugins-1 do begin | |
98 | + if total(strsplit(((*!dustem_plugin)[i].scope),'+',/extract) eq 'ADD_EXT') then EXT_spec+=(*(*!dustem_plugin)[i].spec)[*,0] | |
99 | 99 | endfor |
100 | 100 | ENDIF |
101 | 101 | |
102 | - | |
103 | -IF scopes[0] NE 'NONE' THEN BEGIN | |
104 | - | |
105 | - FOR i=0L,n_tags(*!dustem_plugin)-1 DO BEGIN | |
106 | - | |
107 | - IF total(strsplit((*(*!dustem_plugin).(i).scope),'+',/extract) EQ 'REPLACE_POLEXT') THEN BEGIN | |
108 | - | |
109 | - QEXT_spec=(*(*!dustem_plugin).(i).spec)[*,1] | |
110 | - UEXT_spec=(*(*!dustem_plugin).(i).spec)[*,2] | |
111 | - | |
102 | +;scopes=tag_names((*!dustem_plugin)) | |
103 | +;IF scopes[0] NE 'NONE' THEN BEGIN | |
104 | +;IF ptr_valid(!dustem_plugin) THEN BEGIN | |
105 | +; for i=0L,n_tags(*!dustem_plugin)-1 do begin | |
106 | +; if total(strsplit((*(*!dustem_plugin).(i).scope),'+',/extract) eq 'ADD_EXT') then EXT_spec+=(*(*!dustem_plugin).(i).spec)[*,0] | |
107 | +; endfor | |
108 | +;ENDIF | |
109 | + | |
110 | +IF Nplugins NE 0 THEN BEGIN | |
111 | + FOR i=0L,Nplugins-1 DO BEGIN | |
112 | + IF total(strsplit(((*!dustem_plugin)[i].scope),'+',/extract) EQ 'REPLACE_POLEXT') THEN BEGIN | |
113 | + QEXT_spec=(*(*!dustem_plugin)[i].spec)[*,1] | |
114 | + UEXT_spec=(*(*!dustem_plugin)[i].spec)[*,2] | |
112 | 115 | ENDIF |
113 | - | |
114 | 116 | ENDFOR |
115 | 117 | ENDIF |
116 | 118 | |
... | ... | @@ -119,19 +121,13 @@ ENDIF |
119 | 121 | SPEXT_spec = frac |
120 | 122 | ENDIF |
121 | 123 | |
122 | -IF scopes[0] NE 'NONE' THEN BEGIN | |
123 | - | |
124 | - FOR i=0L,n_tags(*!dustem_plugin)-1 DO BEGIN | |
125 | - | |
126 | - IF total(strsplit((*(*!dustem_plugin).(i).scope),'+',/extract) EQ 'ADD_POLEXT') THEN BEGIN | |
127 | - | |
128 | - QEXT_spec+=(*(*!dustem_plugin).(i).spec)[*,1] | |
129 | - UEXT_spec+=(*(*!dustem_plugin).(i).spec)[*,2] | |
130 | - | |
124 | +IF Nplugins NE 0 THEN BEGIN | |
125 | + FOR i=0L,Nplugins-1 DO BEGIN | |
126 | + IF total(strsplit(((*!dustem_plugin)[i].scope),'+',/extract) EQ 'ADD_POLEXT') THEN BEGIN | |
127 | + QEXT_spec+=(*(*!dustem_plugin)[i].spec)[*,1] | |
128 | + UEXT_spec+=(*(*!dustem_plugin)[i].spec)[*,2] | |
131 | 129 | ENDIF |
132 | - | |
133 | 130 | ENDFOR |
134 | - | |
135 | 131 | ENDIF |
136 | 132 | |
137 | 133 | POLEXT_spec=sqrt(QEXT_spec^2+UEXT_spec^2) | ... | ... |
src/idl/dustem_compute_polsed.pro
... | ... | @@ -93,29 +93,29 @@ frac(tes)=0. |
93 | 93 | ;NB: if plugins that replace the total emission given by the fortran executable exist, |
94 | 94 | ;the need to add a block with a 'REPLPACE_SED' scope as for the 'REPLACE_POLSED' below, may arise. |
95 | 95 | |
96 | -scopes=tag_names((*!dustem_plugin)) | |
97 | -IF scopes[0] NE 'NONE' THEN BEGIN | |
96 | +;scopes=tag_names((*!dustem_plugin)) | |
97 | +;IF scopes[0] NE 'NONE' THEN BEGIN | |
98 | 98 | ;IF ptr_valid(!dustem_plugin) THEN BEGIN |
99 | - for i=0L,n_tags(*!dustem_plugin)-1 do begin | |
100 | - if total(strsplit((*(*!dustem_plugin).(i).scope),'+',/extract) eq 'ADD_SED') then stI+=(*(*!dustem_plugin).(i).spec)[*,0] | |
99 | +; for i=0L,n_tags(*!dustem_plugin)-1 do begin | |
100 | + | |
101 | +plugin_tags=(*!dustem_plugin).name | |
102 | +ind=where(plugin_tags NE 'NONE',Nplugins) | |
103 | +IF Nplugins NE 0 THEN BEGIN | |
104 | +;IF ptr_valid(!dustem_plugin) THEN BEGIN | |
105 | + for i=0L,Nplugins-1 do begin | |
106 | + if total(strsplit(((*!dustem_plugin)[i].scope),'+',/extract) eq 'ADD_SED') then stI+=(*(*!dustem_plugin)[i].spec)[*,0] | |
101 | 107 | endfor |
102 | 108 | ENDIF |
103 | 109 | |
104 | 110 | |
105 | -IF scopes[0] NE 'NONE' THEN BEGIN | |
106 | - | |
107 | - FOR i=0L,n_tags(*!dustem_plugin)-1 DO BEGIN | |
108 | - | |
109 | - IF total(strsplit((*(*!dustem_plugin).(i).scope),'+',/extract) EQ 'REPLACE_POLSED') THEN BEGIN | |
110 | - | |
111 | +IF Nplugins NE 0 THEN BEGIN | |
112 | + FOR i=0L,Nplugins-1 DO BEGIN | |
113 | + IF total(strsplit(((*!dustem_plugin)[i].scope),'+',/extract) EQ 'REPLACE_POLSED') THEN BEGIN | |
111 | 114 | Q_spec=(*(*!dustem_plugin).(i).spec)[*,1] |
112 | 115 | U_spec=(*(*!dustem_plugin).(i).spec)[*,2] |
113 | 116 | ;make sure sti hasn't been replaced. But this is not happening in the near future |
114 | - | |
115 | 117 | ENDIF |
116 | - | |
117 | 118 | ENDFOR |
118 | - | |
119 | 119 | ENDIF |
120 | 120 | |
121 | 121 | IF ~isa(Q_spec) && ~isa(U_spec) THEN BEGIN |
... | ... | @@ -123,27 +123,19 @@ ENDIF |
123 | 123 | SP_spec = frac |
124 | 124 | ENDIF |
125 | 125 | |
126 | -IF scopes[0] NE 'NONE' THEN BEGIN | |
127 | - | |
128 | - FOR i=0L,n_tags(*!dustem_plugin)-1 DO BEGIN | |
129 | - | |
130 | - IF total(strsplit((*(*!dustem_plugin).(i).scope),'+',/extract) EQ 'ADD_POLSED') THEN BEGIN | |
131 | - | |
132 | - Q_spec+=(*(*!dustem_plugin).(i).spec)[*,1] | |
133 | - U_spec+=(*(*!dustem_plugin).(i).spec)[*,2] | |
134 | - | |
126 | +IF Nplugins NE 0 THEN BEGIN | |
127 | + FOR i=0L,Nplugins-1 DO BEGIN | |
128 | + IF total(strsplit(((*!dustem_plugin)[i].scope),'+',/extract) EQ 'ADD_POLSED') THEN BEGIN | |
129 | + Q_spec+=(*(*!dustem_plugin)[i].spec)[*,1] | |
130 | + U_spec+=(*(*!dustem_plugin)[i].spec)[*,2] | |
135 | 131 | ENDIF |
136 | - | |
137 | 132 | ENDFOR |
138 | - | |
139 | 133 | ENDIF |
140 | 134 | |
141 | 135 | P_spec=sqrt(Q_spec^2+U_spec^2) |
142 | 136 | SP_spec=P_spec/Sti |
143 | 137 | |
144 | - | |
145 | 138 | dustem_polsed = (*(*!dustem_data).qsed).values * 0. |
146 | - | |
147 | 139 | |
148 | 140 | if not isarray(P_spec) THEN stop ;I don't understand this test. The only thing it can indicate is a problem with the dust parameters or the fortran executable. But in my opinion these tests would be |
149 | 141 | ... | ... |
src/idl/dustem_compute_sed.pro
... | ... | @@ -69,11 +69,14 @@ fact = 1.e4*(*!dustem_HCD)/(4.*!pi)/(3.e8/1.e-6/st.sed.wav)*1.e20/1.e7 ;this is |
69 | 69 | SED_spec = st.sed.em_tot * fact |
70 | 70 | |
71 | 71 | ;===== Adding plugin output to spectrum ---------------- |
72 | -Nplugins=n_elements(*!dustem_plugin) | |
73 | -scopes=(*!dustem_plugin).scope | |
72 | +;Nplugins=n_elements(*!dustem_plugin) | |
73 | +;scopes=(*!dustem_plugin).scope | |
74 | 74 | |
75 | +plugin_tags=(*!dustem_plugin).name | |
76 | +ind=where(plugin_tags NE 'NONE',Nplugins) | |
77 | +IF Nplugins NE 0 THEN BEGIN | |
75 | 78 | ;stop |
76 | -IF scopes[0] NE 'NONE' THEN BEGIN | |
79 | +;IF scopes[0] NE 'NONE' THEN BEGIN | |
77 | 80 | FOR i=0L,Nplugins-1 DO BEGIN |
78 | 81 | IF total(strsplit((*!dustem_plugin)[i].scope,'+',/extract) eq 'ADD_SED') THEN BEGIN |
79 | 82 | SED_spec+=(*(*!dustem_plugin)[i].spec)[*,0] | ... | ... |
src/idl/dustem_compute_stokes.pro
... | ... | @@ -82,14 +82,13 @@ frac=P/stI |
82 | 82 | tes=where(finite(frac) eq 0) |
83 | 83 | frac(tes)=0. |
84 | 84 | |
85 | -scopes=(*!dustem_plugin).scope | |
86 | -n_plugins=n_elements(scopes) | |
87 | - | |
88 | -IF scopes[0] NE 'NONE' THEN BEGIN | |
89 | - FOR i=0L,n_plugins-1 DO BEGIN | |
85 | +plugin_tags=(*!dustem_plugin).name | |
86 | +ind=where(plugin_tags NE 'NONE',Nplugins) | |
87 | +IF Nplugins NE 0 THEN BEGIN | |
88 | + FOR i=0L,nplugins-1 DO BEGIN | |
90 | 89 | ;IF total(strsplit((*(*!dustem_plugin).(i).scope),'+',/extract) EQ 'REPLACE_POLSED') THEN BEGIN |
91 | 90 | ;IF total(strsplit((*!dustem_plugin)[i].scope,'+',/extract) EQ 'REPLACE_POLSED') THEN BEGIN |
92 | - IF total(strsplit((*!dustem_plugin)[i].scope,'+',/extract) EQ 'REPLACE_SED') THEN BEGIN | |
91 | + IF total(strsplit((*!dustem_plugin)[i].scope,'+',/extract) EQ 'REPLACE_POLSED') THEN BEGIN | |
93 | 92 | Q_spec = (*(*!dustem_plugin)[i].spec)[*,1] |
94 | 93 | U_spec = (*(*!dustem_plugin)[i].spec)[*,2] |
95 | 94 | ENDIF |
... | ... | @@ -100,11 +99,13 @@ ENDIF |
100 | 99 | polar_ippsi2iqu,stI,Q_spec,U_spec,frac,replicate(!dustem_psi,Nwaves); |
101 | 100 | ENDIF |
102 | 101 | |
103 | -IF scopes[0] NE 'NONE' THEN BEGIN | |
104 | - FOR i=0L,n_plugins-1 DO BEGIN | |
102 | +plugin_tags=(*!dustem_plugin).name | |
103 | +ind=where(plugin_tags NE 'NONE',Nplugins) | |
104 | +IF Nplugins NE 0 THEN BEGIN | |
105 | + FOR i=0L,Nplugins-1 DO BEGIN | |
105 | 106 | ;IF total(strsplit((*(*!dustem_plugin).(i).scope),'+',/extract) EQ 'ADD_POLSED') THEN BEGIN |
106 | 107 | ;IF total(strsplit((*!dustem_plugin)[i].scope,'+',/extract) EQ 'ADD_POLSED') THEN BEGIN |
107 | - IF total(strsplit((*!dustem_plugin)[i].scope,'+',/extract) EQ 'ADD_SED') THEN BEGIN | |
108 | + IF total(strsplit((*!dustem_plugin)[i].scope,'+',/extract) EQ 'ADD_POLSED') THEN BEGIN | |
108 | 109 | Q_spec+=(*(*!dustem_plugin)[i].spec)[*,1] |
109 | 110 | U_spec+=(*(*!dustem_plugin)[i].spec)[*,2] |
110 | 111 | ENDIF | ... | ... |
src/idl/dustem_compute_stokext.pro
... | ... | @@ -105,18 +105,14 @@ frac=POLEXT_spec/EXT_spec |
105 | 105 | tes=where(finite(frac) eq 0) |
106 | 106 | frac(tes)=0. |
107 | 107 | |
108 | -scopes=tag_names((*!dustem_plugin)) | |
109 | -IF scopes[0] NE 'NONE' THEN BEGIN | |
110 | - | |
111 | - FOR i=0L,n_tags(*!dustem_plugin)-1 DO BEGIN | |
112 | - | |
113 | - IF total(strsplit((*(*!dustem_plugin).(i).scope),'+',/extract) EQ 'REPLACE_POLEXT') THEN BEGIN | |
114 | - | |
115 | - QEXT_spec = (*(*!dustem_plugin).(i).spec)[*,1] | |
116 | - UEXT_spec = (*(*!dustem_plugin).(i).spec)[*,2] | |
117 | - | |
108 | +plugin_tags=(*!dustem_plugin).name | |
109 | +ind=where(plugin_tags NE 'NONE',Nplugins) | |
110 | +IF Nplugins NE 0 THEN BEGIN | |
111 | + FOR i=0L,Nplugins-1 DO BEGIN | |
112 | + IF total(strsplit((*!dustem_plugin)[i].scope,'+',/extract) EQ 'REPLACE_POLEXT') THEN BEGIN | |
113 | + QEXT_spec = (*(*!dustem_plugin)[i].spec)[*,1] | |
114 | + UEXT_spec = (*(*!dustem_plugin)[i].spec)[*,2] | |
118 | 115 | ENDIF |
119 | - | |
120 | 116 | ENDFOR |
121 | 117 | ENDIF |
122 | 118 | |
... | ... | @@ -125,16 +121,12 @@ IF ~isa(QEXT_spec) && ~isa(UEXT_spec) THEN BEGIN |
125 | 121 | ENDIF |
126 | 122 | |
127 | 123 | |
128 | -IF scopes[0] NE 'NONE' THEN BEGIN | |
129 | - FOR i=0L,n_tags(*!dustem_plugin)-1 DO BEGIN | |
130 | - | |
131 | - IF total(strsplit((*(*!dustem_plugin).(i).scope),'+',/extract) EQ 'ADD_POLEXT') THEN BEGIN | |
132 | - | |
133 | - QEXT_spec+=(*(*!dustem_plugin).(i).spec)[*,1] | |
134 | - UEXT_spec+=(*(*!dustem_plugin).(i).spec)[*,2] | |
135 | - | |
124 | +IF Nplugins NE 0 THEN BEGIN | |
125 | + FOR i=0L,Nplugins-1 DO BEGIN | |
126 | + IF total(strsplit((*!dustem_plugin)[i].scope,'+',/extract) EQ 'ADD_POLEXT') THEN BEGIN | |
127 | + QEXT_spec+=(*(*!dustem_plugin)[i].spec)[*,1] | |
128 | + UEXT_spec+=(*(*!dustem_plugin)[i].spec)[*,2] | |
136 | 129 | ENDIF |
137 | - | |
138 | 130 | ENDFOR |
139 | 131 | ENDIF |
140 | 132 | ;----------------------------------------- | ... | ... |