Changeset 4030 in Sophya for trunk/Cosmo/RadioBeam/pknoise.cc


Ignore:
Timestamp:
Oct 26, 2011, 7:42:21 PM (14 years ago)
Author:
ansari
Message:

Corrections papiers avec les commentaires du referee (1) - Reza 26/10/2011

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Cosmo/RadioBeam/pknoise.cc

    r4028 r4030  
    5050       << "    -cszmpc sx,sy,sz : 3D real space box cell size in Mpc (default=3x3x1.5) \n"   
    5151       << "    -z redshift : redshift  (default=1.0) \n"
     52       << "    -pnf : Apply frequency dependent noise factor=ComovDa^2*(1+z)^2/Hz (default= NON) \n"
    5253       << "    -scut SCutValue (default= -100.) \n"
    5354       << "       if SCutValue<0. ==> SCut=MinNoisePower*(-SCutValue) \n"
     
    9192  int box3dsz[3]={512,512,256};
    9293  double cellsz[3]={3.,3.,3.};
     94  bool fgnoisefreq=false;
    9395  int NBINPK=256;
    9496  int prtlev=0;
     
    122124    else if (strcmp(arg[ka],"-nbin")==0) {
    123125      NBINPK=atoi(arg[ka+1]);    ka+=2;
     126    }
     127    else if (strcmp(arg[ka],"-pnf")==0) {
     128      fgnoisefreq=true;   ka++;
    124129    }
    125130    else if (strcmp(arg[ka],"-prt")==0) {
     
    191196              << " DoL=" << DIAMETRE/lambda << " ) " << endl;
    192197    Histo2D h2drep = arep_p->GetResponse();
     198    Histo2D h2drepuv = arep_p->GetResponseUV();
    193199    double repmax= h2drep.VMax();
    194200    if (fgautoscut) {
     
    210216    double angscale=1.;
    211217    Vector angscales(box3dsz[2]);
     218    double pnoise0=comov_dA_z*comov_dA_z*(1.+z_Redshift)*(1.+z_Redshift)/H_z;
     219    Vector pnoisevec(box3dsz[2]);
     220    pnoisevec=1.;
    212221    angscales=angscale;
    213222    if (NMAX<0)  { box3dsz[0]=256; box3dsz[1]=256;  box3dsz[2]=128; }
     
    222231    cout << " pknoise[2.c]: Freq0=" << freq0 << " dFreq=" << dfreq << " freq(z=" << z_Redshift << ")="
    223232         << conv.getFrequency() << " zmin=" << 1420.4/freq0-1. << " zmax=" << 1420.4/(freq0+box3dsz[2]*dfreq)-1. << endl;
    224     cout << " pknoise[2.d]: Four3DPk m3d(rg," << box3dsz[0]/2 << "," << box3dsz[1] << ","
     233    if(fgnoisefreq) {
     234      for(int kz=0; kz<box3dsz[2]; kz++) {
     235        double zreds=1420.4/(freq0+(double)kz*dfreq)-1.;
     236        double comda=redshift2da(zreds);
     237        pnoisevec(kz)=comda*comda*(1.+zreds)*(1.+zreds)/redshift2hz(zreds)/pnoise0;
     238      }
     239      cout << " pknoise[2.d]: PnoiseFactor:" << pnoisevec(0) << " ... " << pnoisevec(pnoisevec.Size()-1) << endl;
     240    }
     241    cout << " pknoise[2.e]: Four3DPk m3d(rg," << box3dsz[0]/2 << "," << box3dsz[1] << ","
    225242         << box3dsz[2] << ")" << endl;
    226243    Four3DPk m3d(rg,box3dsz[0]/2,box3dsz[1],box3dsz[2]);
    227     cout << " pknoise[2.d]: m3d.SetCellSize(" << dkxmpc << "," << dkympc << "," << dkzmpc
     244    cout << " pknoise[2.f]: m3d.SetCellSize(" << dkxmpc << "," << dkympc << "," << dkzmpc
    228245         << ") cell size (Mpc) : " << cellsz[0] << "x" << cellsz[1] << "x" << cellsz[2] << endl;
    229246    m3d.SetCellSize(dkxmpc, dkympc, dkzmpc);
     
    235252      pkn.SetFreqRange(freq0, dfreq);
    236253      pkn.SetAngScaleConversion(angscales);
     254      pkn.SetPNoiseFactor(pnoisevec);
    237255      pkn.SetPrtLevel(prtlev,prtmod);
    238256      HProf hpn = pkn.Compute(NBINPK);
     
    255273    po << PPFNameTag("h1drep") << h1drep;
    256274    po << PPFNameTag("h2drep") << h2drep;
    257  
     275    po << PPFNameTag("h2drepuv") << h2drepuv;
     276
    258277    rc = 0;
    259278  }  // End of try bloc
Note: See TracChangeset for help on using the changeset viewer.