Changeset 3352 in Sophya for trunk


Ignore:
Timestamp:
Oct 16, 2007, 7:25:51 PM (18 years ago)
Author:
cmv
Message:

ajour calcul OmegaHI equiv, cmv 16/10/2007

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Cosmo/SimLSS/cmvdefsurv.cc

    r3351 r3352  
    4343      <<" -K k,dk,pk : k(Mpc^-1) dk(Mpc^-1) pk(a z=0 en Mpc^-3) pour estimer la variance cosmique"<<endl
    4444      <<"----------------"<<endl
    45       <<" -O surf,tobs : surface effective (m^2) et temps d\'observation (s)"<<endl
     45      <<" -O surf,tobs,eta : surface effective (m^2), temps d\'observation (s), efficacite d\'ouverture"<<endl
    4646      <<" -N Tsys : temperature du system (K)"<<endl
    4747      <<" -L lobewidth,freqlob : taille du lobe d\'observation (FWHM) en arcmin (def= 1\')"<<endl
     
    8686   int nz=0; char unit_z = 'Z';
    8787 double redshift = 0.;
    88  double tobs = 6000., surfeff = 400000.;
     88 double tobs = 6000., surftot = 400000., eta_eff  = 1.;
    8989 // variance cosmique (default = standard SDSSII)
    9090 double kcosm = 0.05, dkcosm = -1., pkcosm = 40000.;
     
    115115    break;
    116116  case 'O' :
    117     sscanf(optarg,"%lf,%lf",&surfeff,&tobs);
     117    sscanf(optarg,"%lf,%lf,%lf",&surftot,&tobs,&eta_eff);
    118118    break;
    119119  case 'L' :
     
    169169 univ.Print(redshift);
    170170 GrowthFactor growth(om0,ol0);
    171  double grothfac = growth(redshift);
    172  cout<<"Facteur de croissance lineaire = "<<grothfac
     171 double growthfac = growth(redshift);
     172 cout<<"Facteur de croissance lineaire = "<<growthfac
    173173     <<" ^2 , ( 1/(1+z)="<<1./(1.+redshift)<<" )"<<endl;
     174 double rhoc0 = univ.Rhoc(0.)*GCm3toMsolMpc3_Cst;
     175 double rhocz = univ.Rhoc(redshift)*GCm3toMsolMpc3_Cst;
     176 cout<<"Rho_c a z=0: "<<rhoc0<<", a z="<<redshift<<": "<<rhocz<<" Msol/Mpc^3"<<endl;
    174177
    175178 double dang    = univ.Dang(redshift);
     
    313316 // nombre de mode = 1/2 * Vsurvey/(2Pi)^3 * 4Pi*k^2*dk
    314317 if(kcosm>0. && pkcosm>0.) {
    315    double pk = pkcosm*pow(grothfac,2.);
     318   double pk = pkcosm*pow(growthfac,2.);
    316319   cout<<"\n>>>>\n>>>> variance cosmique pour k="<<kcosm<<" Mpc^-1, pk(z=0)="
    317320       <<pkcosm<<", pk(z="<<redshift<<")="<<pk<<"\n>>>>"<<endl;
     
    346349 cout<<"Pixel mass = "<<masshipix<<" Msol"<<endl
    347350     <<"Total mass in survey = "<<masshitot<<" Msol"<<endl;
     351 cout<<"OmegaHI a z=0: "<<masshimpc3/rhoc0
     352     <<", a z="<<redshift<<": "<<masshimpc3/rhocz<<endl;
    348353 if(mhiref<=0.)  mhiref = masshipix;
    349354
     
    361366 // --- Survey values
    362367 cout<<"\n>>>>\n>>>> Observations\n>>>>"<<endl;
     368 double surfeff = surftot * eta_eff;
    363369 double unplusz = 1.+redshift;
    364370 double nuhiz = Fr_HyperFin_Par / unplusz;  // GHz
     
    368374 double dnuhiz = Fr_HyperFin_Par *dred/(unplusz*unplusz)
    369375               / (1.- pow(dred/.2/unplusz,2.));
    370  cout<<"      surf_eff="<<surfeff<<" m^2, tobs="<<tobs<<" s"<<endl
     376 cout<<"      surf="<<surftot<<" m^2, eta="<<eta_eff<<"  surf_eff="<<surfeff<<" m^2, tobs="<<tobs<<" s"<<endl
    371377     <<"      nu="<<nuhiz<<" GHz, dnu="<<dnuhiz*1.e3<<" Mhz"<<endl;
    372378 cout<<"dang lumi = "<<dlum<<" in ["<<dlumlim[0]<<","<<dlumlim[1]<<"] Mpc"<<endl;
     
    399405     <<","<<hifactor*Msol2FluxHI(mhiref,dlumlim[1])<<"] W/m^2"<<endl;
    400406 double sfhi = fhi / (dnuhiz*1e9) / Jansky2Watt_cst;
    401  cout<<"If spread over pixel depth ("<<dnuhiz<<" GHz), flux density = "<<sfhi<<" Jy"<<endl;
     407 cout<<"If spread over pixel depth ("<<dnuhiz<<" GHz), flux density = "<<sfhi*1.e6<<" mu_Jy"<<endl;
    402408
    403409 // --- Signal analysis
     
    421427     <<"     P="<<psig<<" W"<<endl
    422428     <<"     flux density = "<<ssig*1.e6<<" mu_Jy  (for Dnu="<<dnuhiz<<" GHz)"<<endl
     429     <<"                   ("<<ssig_2polar<<" mu_Jy for 2 polars)"<<endl
    423430     <<"     Antenna temperature: tsig="<<tsig<<" K"<<endl;
    424431
     
    474481 //     Pb = k * Tsys * dNu  (W)
    475482 // Pour une source (non-polarisee) de densite de flux (totale 2 polars)
    476  //     St (exprimee en Jy=W/m^2/Hz)
     483 //     St (exprimee en Jy = 10^-26 W/m^2/Hz)
    477484 //     Pt = St * Ae * dNu   (puissance totale emise en W pour 2 polars)
    478485 //     P1 = 1/2 * St * Ae * dNu   (puissance emise en W pour une polar)
     
    565572   smass = mhiref / ssig_2polar * slim;
    566573   cout<<"for 1 lobe:"<<endl
    567        <<"   Slim    = "<<slim<<" Jy"<<endl
     574       <<"   Slim    = "<<slim*1.e6<<" mu_Jy"<<endl
    568575       <<"   S/N     = "<<SsN<<endl
    569576       <<"   Mass HI = "<<smass<<" Msol"<<endl;
     
    573580   smass_nl = mhiref / ssig_2polar * slim_nl;
    574581   cout<<"for "<<nlobes<<" lobes:"<<endl
    575        <<"   Flux    = "<<slim_nl<<" Jy"<<endl
     582       <<"   Flux    = "<<slim_nl*1.e6<<" mu_Jy"<<endl
    576583       <<"   S/N     = "<<SsN_nl<<endl
    577584       <<"   Mass HI = "<<smass_nl<<" Msol"<<endl;
Note: See TracChangeset for help on using the changeset viewer.