Changeset 3351 in Sophya for trunk/Cosmo/SimLSS/cmvobserv3d.cc
- Timestamp:
- Oct 12, 2007, 7:45:12 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Cosmo/SimLSS/cmvobserv3d.cc
r3349 r3351 39 39 <<" typevol=2 noise evolved with distance to middle of Z planes"<<endl 40 40 <<" -2 : compute also 2D spectrum (default: no)"<<endl 41 <<" -N scalecube,offsetcube: normalize cube before doing final spectrum (default: automatic)"<<endl 41 <<" -N scalemass: facteur d\'unite pour la masse (default: 1)"<<endl 42 <<" ex: si on veut unites 10^8 Msol -> scalemass=1.e-8"<<endl 43 <<" si <0 alors facteur=-scalemass*Mpix"<<endl 42 44 <<" -M schmin,schmax,nsch : min,max mass and nb points for schechter HI"<<endl 43 45 <<" If nsch<0 alors no,bre de points par decade"<<endl … … 97 99 bool no_poisson = false; 98 100 101 double scalemass = 1.; 102 99 103 // *** Niveau de bruit 100 104 double snoise= 0.; // en equivalent MSol … … 118 122 bool wslice = false; 119 123 bool compvarreal = false; 120 double scalecube = -1., offsetcube = 0.;121 124 122 125 // --- Decodage arguments … … 165 168 break; 166 169 case 'N' : 167 sscanf(optarg,"%lf,%lf",&scalecube,&offsetcube); 170 sscanf(optarg,"%lf",&scalemass); 171 if(scalemass==0.) scalemass = 1.; 168 172 break; 169 173 case 'M' : … … 223 227 if(no_poisson) cout<<"No poisson fluctuation, direct conversion to HI mass"<<endl; 224 228 cout<<"snoise="<<snoise<<" equivalent Msol, evolution="<<noise_evol<<endl; 225 cout<<"scale cube="<<scalecube<<", offsetcube="<<offsetcube<<endl;229 cout<<"scalemass="<<scalemass<<endl; 226 230 ////if(do_agn) 227 231 //// cout<<"AGN: <log10(Jy)>="<<lfjy_agn<<" , sigma="<<lsigma_agn … … 364 368 cout<<endl; fluct3d.Print(); 365 369 cout<<"\nMean number of galaxies per pixel = "<<ngal_by_mpc3*fluct3d.GetDVol()<<endl; 366 cout<<"Mean mass per pixel = "<<mass_by_mpc3*fluct3d.GetDVol()<<endl; 370 double mass_by_pixel = mass_by_mpc3 * fluct3d.GetDVol(); 371 cout<<"Mean mass per pixel = "<<mass_by_pixel<<endl; 367 372 368 373 double dkmin = fluct3d.GetKincMin(); … … 536 541 if(no_poisson) { 537 542 cout<<"\n--- Converting !!!DIRECTLY!!! mass into HI mass: mass per pixel =" 538 <<mass_by_ mpc3*fluct3d.GetDVol()<<endl;539 rm = fluct3d.TurnMass2MeanNumber(mass_by_mpc3); 543 <<mass_by_pixel<<endl; 544 rm = fluct3d.TurnMass2MeanNumber(mass_by_mpc3); // ici on doit donner Msol/Mpc^3 540 545 } else { 541 546 cout<<"\n--- Converting mass into galaxy number: gal per pixel =" … … 581 586 } 582 587 588 //----------------------------------------------------------------- 583 589 if(wfits) { 584 590 fluct3d.WriteFits("!cmvobserv3d_r.fits"); … … 613 619 } 614 620 615 616 //----------------------------------------------------------------- 617 if(scalecube!=0.) { // Si scalecube==0 pas de normalisation 618 cout<<"\n--- Scale cube rs2ref="<<rs2ref<<endl; 619 if(scalecube<0. && rs2ref>0.) { // si negatif on scale automatiquement 621 //----------------------------------------------------------------- 622 if(scalemass!=0. && scalemass!=1.) { // Si scalemass==0 pas de normalisation 623 if(scalemass<0.) scalemass = 1. / (-scalemass * mass_by_pixel); 624 cout<<"\n--- Scale cube scale="<<scalemass<<endl; 625 fluct3d.ScaleOffset(scalemass); 626 snoisesave *= scalemass; 620 627 nm = fluct3d.MeanSigma2(rm,rs2); 621 if(rs2>0.) {scalecube=sqrt(rs2ref)/sqrt(rs2); offsetcube=-rm;}622 }623 cout<<"...scale="<<scalecube<<" offset="<<offsetcube<<endl;624 if(scalecube>0.) {625 fluct3d.ScaleOffset(scalecube,offsetcube);626 snoisesave *= scalecube;627 }628 628 PrtTim(">>>> End Scale cube"); 629 629 } 630 630 631 //----------------------------------------------------------------- 631 632 if(wfits) { 632 633 fluct3d.WriteFits("!cmvobserv3d_rf.fits");
Note:
See TracChangeset
for help on using the changeset viewer.