diff --git a/src/idl/dustem_read_filters.pro b/src/idl/dustem_read_filters.pro index a24d91c..c89db4a 100755 --- a/src/idl/dustem_read_filters.pro +++ b/src/idl/dustem_read_filters.pro @@ -25,7 +25,7 @@ FUNCTION dustem_read_filters,plot_it=plot_it,help=help ; cc_method: Color correction method to be used for these filters ; ; The following instruments are known: -;; IRAC:irac_struct, $ +;; IRAC:irac_struct, $ ;; MIPS:mips_struct, $ ;; MSX:msx_struct, $ ;; IRAS:iras_struct, $ @@ -58,6 +58,8 @@ FUNCTION dustem_read_filters,plot_it=plot_it,help=help ;; NIRISS:niriss_struct $ ;; SDSS:sdss_struct $ ;; ASTROSAT:astrosat_struct $ +;; GALEX:galex_struct $ +;; SWIFT:swift_struct ; ; CATEGORY: ; DustEMWrap, Distributed, Low-Level, Instrument Filters @@ -157,6 +159,8 @@ dir_nircam=filter_dir+'NIRCam'+'/' dir_niriss=filter_dir+'NIRISS'+'/' dir_sdss=filter_dir+'SDSS'+'/' dir_astrosat=filter_dir+'ASTROSAT'+'/' +dir_galex=filter_dir+'GALEX'+'/' +dir_swift=filter_dir+'SWIFT'+'/' ;====================================================== ;==== Herschel PACS @@ -207,9 +211,6 @@ pacs_struct={Name:'PACS',Nbands:Nband,filter_names:filt_names,central_wavelength cc_method:cc_method,filters_integral:replicate(0.D0,Nband)} ;pacs_struct=dustem_compute_filter_integral(pacs_struct) -;stop - - ;====================================================== ;==== PILOT ;====================================================== @@ -1340,6 +1341,58 @@ astrosat_struct={Name:'ASTROSAT',Nbands:Nband,filter_names:filt_names,central_wa use_frequencies:use_nu,use_transmissions:use_T,use_wavelengths:use_w,use_wmin:dblarr(Nband),use_wmax:dblarr(Nband),cc_method:'dustem_cc_astrosat',filters_integral:replicate(0.D0,Nband)} ;====================================================== +;==== GALEX +;====================================================== +IF print_messages THEN message,'Reading GALEX filters',/continue + +Nband=2 +filt_names='GALEX'+strtrim(indgen(Nband)+1,2) +wfilt_galex=dustem_filter2wav(filt_names) +wav_ptr=ptrarr(Nband) +nu_ptr=ptrarr(Nband) & T_ptr=ptrarr(Nband) & wav_ptr=ptrarr(Nband) +use_nu=ptrarr(Nband) & use_T=ptrarr(Nband) & use_w=ptrarr(Nband) + +FOR i=0L,Nband-1 DO BEGIN + readcol,dir_galex+dustem_filter2filter_filename(filt_names[i]),waves_angstrom,transmissions_E + waves_mic=waves_angstrom/1.e10*1.e6 + freq=cmic/waves_mic + Trans=transmissions_E/freq + T_ptr[i]=ptr_new(Trans/max(Trans)) & nu_ptr[i]=ptr_new(freq) & wav_ptr[i]=ptr_new(waves_mic) +ENDFOR + +galex_struct={Name:'GALEX',Nbands:Nband,filter_names:filt_names,central_wavelengths:wfilt_galex,central_frequencies:cmic/wfilt_galex, $ + filter_wavelengths:wav_ptr,filter_frequencies:nu_ptr,filter_transmissions:T_ptr, $ + use_frequencies:use_nu,use_transmissions:use_T,$ + use_wavelengths:use_w,use_wmin:dblarr(Nband),use_wmax:dblarr(Nband)$ + ,cc_method:'dustem_cc_galex',filters_integral:replicate(0.D0,Nband)} + +;====================================================== +;==== SWIFT +;====================================================== +IF print_messages THEN message,'Reading SWIFT filters',/continue + +Nband=7 +filt_names='SWIFT'+strtrim(indgen(Nband)+1,2) +wfilt_swift=dustem_filter2wav(filt_names) +wav_ptr=ptrarr(Nband) +nu_ptr=ptrarr(Nband) & T_ptr=ptrarr(Nband) & wav_ptr=ptrarr(Nband) +use_nu=ptrarr(Nband) & use_T=ptrarr(Nband) & use_w=ptrarr(Nband) + +FOR i=0L,Nband-1 DO BEGIN + readcol,dir_swift+dustem_filter2filter_filename(filt_names[i]),waves_angstrom,transmissions_E + waves_mic=waves_angstrom/1.e10*1.e6 + freq=cmic/waves_mic + Trans=transmissions_E/freq + T_ptr[i]=ptr_new(Trans/max(Trans)) & nu_ptr[i]=ptr_new(freq) & wav_ptr[i]=ptr_new(waves_mic) +ENDFOR + +swift_struct={Name:'SWIFT',Nbands:Nband,filter_names:filt_names,central_wavelengths:wfilt_swift,central_frequencies:cmic/wfilt_swift, $ + filter_wavelengths:wav_ptr,filter_frequencies:nu_ptr,filter_transmissions:T_ptr, $ + use_frequencies:use_nu,use_transmissions:use_T,$ + use_wavelengths:use_w,use_wmin:dblarr(Nband),use_wmax:dblarr(Nband)$ + ,cc_method:'dustem_cc_swift',filters_integral:replicate(0.D0,Nband)} + +;====================================================== ;==== Make the filter strcuture ;====================================================== dm_filter_struct={ $ @@ -1377,6 +1430,8 @@ dm_filter_struct={ $ NIRISS:niriss_struct, $ SDSS:sdss_struct, $ ASTROSAT:astrosat_struct $ + GALEX:galex_struct, $ + SWIFT:swift_struct $ } ;====================================================== @@ -1385,11 +1440,11 @@ dm_filter_struct={ $ IF keyword_set(plot_it) THEN BEGIN xtit=textoidl('\lambda (\mum)') ytit='Filter transmission' -; FOR i=0L,n_tags(dm_filter_struct)-1 DO BEGIN - FOR i=n_tags(dm_filter_struct)-1,n_tags(dm_filter_struct)-1 DO BEGIN + FOR i=0L,n_tags(dm_filter_struct)-1 DO BEGIN +; FOR i=n_tags(dm_filter_struct)-1,n_tags(dm_filter_struct)-1 DO BEGIN tit=dm_filter_struct.(i).Name Nband=dm_filter_struct.(i).Nbands - colors=findgen(Nband)/(1.*Nband-1)*(240-20)+20 + colors=fix(findgen(Nband)/(1.*Nband-1)*(240-20)+20) xmin=200000 & xmax=0 FOR j=0,Nband-1 DO BEGIN xminmax=minmax(cmic/*(dm_filter_struct.(i).filter_frequencies(j))) -- libgit2 0.21.2