Commit 410c715510bbb6666eb6957796692b743c440abb

Authored by Jean-Philippe Bernard
1 parent cd2aaf3e
Exists in master

First commit

Showing 1 changed file with 66 additions and 0 deletions   Show diff stats
src/idl/dustem_compute_filter_integral.pro 0 → 100644
... ... @@ -0,0 +1,66 @@
  1 +PRO dustem_compute_filter_integral,instrument_number,filter_number
  2 +
  3 +st=(*!dustem_filters).(instrument_number)
  4 +ii=filter_number
  5 +
  6 +;st_out=st
  7 +;stop
  8 +flux_conv=dustem_filter2fluxconv(st.filter_names[ii])
  9 +CASE strupcase(flux_conv) OF
  10 + 'IRAC': BEGIN
  11 + den=integral(*(st.use_wavelengths(ii)),*(st.use_transmissions(ii)),st.use_wmin(ii),st.use_wmax(ii),/double)/(st.central_wavelengths(ii))
  12 + END
  13 + 'MIPS': BEGIN
  14 + h=6.62606876*1d-34 ; J s
  15 + c=2.99792458*1d8 ; m*s-1
  16 + K=1.380658*1d-23 ; J/K
  17 + T_0=1d4 ; calibration star (K units)
  18 + fact=h*c
  19 + fact3=K*T_0
  20 + expon=exp(fact/(*(st.use_wavelengths(ii))*1e-6*fact3))-1.
  21 + ffact=st.central_wavelengths(ii)*1e-6*K*T_0
  22 + den=integral(*(st.use_wavelengths(ii)),*(st.use_transmissions(ii))/(*(st.use_wavelengths(ii)))^5/expon,st.use_wmin(ii),st.use_wmax(ii),/double)
  23 + den=den*(st.central_wavelengths(ii))^3*(exp(fact/ffact)-1.)
  24 + END
  25 + 'DUSTEM_CC_PACS': BEGIN
  26 + den=integral(*(st.use_wavelengths(ii)),*(st.use_transmissions(ii)),st.use_wmin(ii),st.use_wmax(ii),/double)/(st.central_wavelengths(ii))
  27 + END
  28 + 'FNU=CSTE': BEGIN
  29 + beta=0.
  30 + den=integral(*(st.use_wavelengths(ii)),((*(st.use_transmissions(ii)))/((*(st.use_wavelengths(ii)))^(2+beta))),st.use_wmin(ii),st.use_wmax(ii),/double)*(st.central_wavelengths[ii])^beta
  31 + END
  32 + 'NUINU=CSTE': BEGIN
  33 + beta=-1.
  34 + den=integral(*(st.use_wavelengths(ii)),((*(st.use_transmissions(ii)))/((*(st.use_wavelengths(ii)))^(2+beta))),st.use_wmin(ii),st.use_wmax(ii),/double)*(st.central_wavelengths[ii])^beta
  35 + END
  36 + 'CMB':BEGIN
  37 + Tcmb=2.725D0
  38 + den=integral(*(st.use_wavelengths(ii)),(*(st.use_transmissions(ii)))/(*(st.use_wavelengths(ii))^2)*dustem_planck_function(Tcmb,*(st.use_wavelengths(ii))),st.use_wmin(ii),st.use_wmax(ii),/double)
  39 + den=den*dustem_planck_function(Tcmb,st.central_wavelengths(ii))
  40 + END
  41 + 'HFI':BEGIN
  42 + ;cc is computed in and does not need this value.
  43 + den=1.d0
  44 + END
  45 + 'FLAMBDA=CSTE': BEGIN
  46 + beta=-2.
  47 + den=integral(*(st.use_wavelengths(ii)),((*(st.use_transmissions(ii)))/((*(st.use_wavelengths(ii)))^(2+beta))),st.use_wmin(ii),st.use_wmax(ii),/double)*(st.central_wavelengths[ii])^beta
  48 + END
  49 + 'LABOCA': BEGIN
  50 + alpha_new=0.
  51 + den=integral(*(st.use_wavelengths(ii)),*(st.use_transmissions(ii))/(*(st.use_wavelengths(ii))^(alpha_new+2.)),st.use_wmin(ii),st.use_wmax(ii),/double)/(st.central_wavelengths(ii))^(-(alpha_new+1.))
  52 + END
  53 + 'NIKA2': BEGIN
  54 + beta=1.6
  55 + den=integral(*(st.use_wavelengths(ii)),((*(st.use_transmissions(ii)))/((*(st.use_wavelengths(ii)))^(2+beta))),st.use_wmin(ii),st.use_wmax(ii),/double)*(st.central_wavelengths[ii])^beta
  56 + END
  57 + ELSE: BEGIN
  58 + message,strupcase(flux_conv)+' not recognized, assuming NUINU=CSTE',/info
  59 + beta=-1.
  60 + den=integral(*(st.use_wavelengths(ii)),((*(st.use_transmissions(ii)))/((*(st.use_wavelengths(ii)))^(2+beta))),st.use_wmin(ii),st.use_wmax(ii),/double)*(st.central_wavelengths[ii])^beta
  61 + END
  62 +ENDCASE
  63 +
  64 +(*!dustem_filters).(instrument_number).filters_integral[ii]=den
  65 +
  66 +END
0 67 \ No newline at end of file
... ...