Changeset 3199 in Sophya for trunk/Cosmo/SimLSS/cmvobserv3d.cc
- Timestamp:
- Apr 5, 2007, 7:19:06 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Cosmo/SimLSS/cmvobserv3d.cc
r3196 r3199 31 31 <<" -2 : compute 2D spectrum"<<endl 32 32 <<" -M schmin,schmax,nsch : min,max mass and nb points for schechter HI"<<endl 33 <<" -A <log10(S_agn en Msol)>,sigma : distribution des AGN par pixel"<<endl 33 <<" -A <log10(S_agn en Jy)>,sigma,powlaw : distribution des AGN par pixel"<<endl 34 <<" -K : on utilise le calcul de spectre bricole pour les AGN (bidon!)"<<endl 34 35 <<" -W : write cube in FITS format"<<endl 35 36 <<" -P : write cube in PPF format"<<endl … … 79 80 // *** AGN 80 81 bool do_agn = false; 81 double lmsol_agn=-99., lsigma_agn=0.; // en equivalent MSol 82 double lfjy_agn=-99., lsigma_agn=0.; // en Jy 83 double powlaw_agn = 0.; 84 bool killkz = false; 82 85 83 86 // *** type de generation … … 95 98 96 99 char c; 97 while((c = getopt(narg,arg,"ha0PWV2G x:y:z:s:Z:M:A:")) != -1) {100 while((c = getopt(narg,arg,"ha0PWV2GKx:y:z:s:Z:M:A:")) != -1) { 98 101 switch (c) { 99 102 case 'a' : … … 129 132 case 'A' : 130 133 do_agn = true; 131 sscanf(optarg,"%lf,%lf",&lmsol_agn,&lsigma_agn); 134 sscanf(optarg,"%lf,%lf,%lf",&lfjy_agn,&lsigma_agn,&powlaw_agn); 135 break; 136 case 'K' : 137 killkz = true; 132 138 break; 133 139 case 'V' : … … 161 167 <<", schnpt="<<schnpt<<endl; 162 168 cout<<"snoise="<<snoise<<" equivalent Msol"<<endl; 163 if(do_agn) cout<<"AGN: <log10(Msol)>="<<lmsol_agn<<" , sigma="<<lsigma_agn<<endl; 169 if(do_agn) 170 cout<<"AGN: <log10(Jy)>="<<lfjy_agn<<" , sigma="<<lsigma_agn 171 <<" , powlaw="<<powlaw_agn<<endl; 164 172 165 173 //----------------------------------------------------------------- … … 271 279 fluct3d.SetCosmology(univ); 272 280 fluct3d.SetGrowthFactor(growth); 273 fluct3d.LosComRedshift(0.001 );281 fluct3d.LosComRedshift(0.001,-1); 274 282 TArray<r_8>& rgen = fluct3d.GetRealArray(); 275 283 cout<<endl; fluct3d.Print(); … … 383 391 cout<<"\n--- Apply Growth factor"<<endl; 384 392 cout<<"...D(z=0)="<<growth(0.)<<" D(z="<<zref<<")="<<growth(zref)<<endl; 385 fluct3d.ApplyGrowthFactor( -1);393 fluct3d.ApplyGrowthFactor(); 386 394 rmin,rmax; rgen.MinMax(rmin,rmax); 387 395 cout<<"rgen.Min = "<<rmin<<" , Max="<<rmax<<endl; … … 486 494 487 495 if(do_agn) { 488 cout<<"\n--- Add AGN: <mass>="<<lmsol_agn<<" , sigma="<<lsigma_agn<<endl; 489 fluct3d.AddAGN(lmsol_agn,lsigma_agn); 496 cout<<"\n--- Add AGN: <log10(S Jy)>="<<lfjy_agn<<" , sigma="<<lsigma_agn 497 <<" , powlaw="<<powlaw_agn<<endl; 498 fluct3d.AddAGN(lfjy_agn,lsigma_agn,powlaw_agn); 490 499 nm = fluct3d.MeanSigma2(rm,rs2); 491 500 cout<<"HI mass with AGN: ("<<nm<<") Mean = "<<rm<<", Sigma^2 = " … … 503 512 } 504 513 514 if(wfits) { 515 fluct3d.WriteFits("!cmvobserv3d_rf.fits"); 516 PrtTim(">>>> End WriteFits"); 517 } 518 if(wppf) { 519 fluct3d.WritePPF("cmvobserv3d_rf.ppf",true); 520 PrtTim(">>>> End WritePPF"); 521 } 522 505 523 //----------------------------------------------------------------- 506 524 // -- NE PAS FAIRE CA SI ON VEUT CONTINUER LA SIMULATION -> d_rho/rho ecrase … … 526 544 hpkrec.ReCenterBin(); 527 545 hpkrec.Show(); 528 fluct3d.ComputeSpectrum(hpkrec); 546 if(killkz) fluct3d.ComputeSpectrum_bricolo(hpkrec); 547 else fluct3d.ComputeSpectrum(hpkrec); 529 548 tagobs = "hpkrec"; posobs.PutObject(hpkrec,tagobs); 530 549 PrtTim(">>>> End Computing final spectrum"); … … 536 555 hpkrec2.ReCenterBin(); hpkrec2.Zero(); 537 556 hpkrec2.Show(); 538 fluct3d.ComputeSpectrum2D(hpkrec2); 557 if(killkz) fluct3d.ComputeSpectrum2D_bricolo(hpkrec2); 558 else fluct3d.ComputeSpectrum2D(hpkrec2); 539 559 { 540 560 tagobs = "hpkrec2"; posobs.PutObject(hpkrec2,tagobs); … … 553 573 readfits cmvobserv3d_r0.fits 554 574 readfits cmvobserv3d_r.fits 575 readfits cmvobserv3d_rf.fits 555 576 556 577 openppf cmvobserv3d_k0.ppf … … 558 579 openppf cmvobserv3d_r0.ppf 559 580 openppf cmvobserv3d_r.ppf 560 561 # pour le plot 2D d'une slice en Z du 3D: to2d nom_obj3D num_slice 562 defscript to2d 581 openppf cmvobserv3d_rf.ppf 582 583 # pour le plot 2D d'une slice en Z du 3D: xy2d nom_obj3D num_slice 584 defscript xy2d 563 585 objaoper $1 sliceyz $2 564 mv sliceyz_${2} ${1}_$2 565 disp ${1}_$2 566 echo display slice $2 of $1 586 mv sliceyz_${2} ${1}_Z_$2 587 disp ${1}_Z_$2 588 echo display slice $2 of $1 name is ${1}_Z_$2 589 endscript 590 591 # pour le plot 2D d'une slice en Y du 3D: xz2d nom_obj3D num_slice 592 defscript xz2d 593 objaoper $1 slicexy $2 594 mv slicexy_${2} ${1}_Y_$2 595 disp ${1}_Y_$2 596 echo display slice $2 of $1 name is ${1}_Y_$2 567 597 endscript 568 569 to2d $cobj 0 598 599 # pour le plot 2D d'une slice en X du 3D: yz2d nom_obj3D num_slice 600 defscript yz2d 601 objaoper $1 slicexz $2 602 mv slicexz_${2} ${1}_X_$2 603 disp ${1}_X_$2 604 echo display slice $2 of $1 name is ${1}_X_$2 605 endscript 606 607 xy2d $cobj 0 608 xz2d $cobj 0 609 yz2d $cobj 0 570 610 571 611 ###################################################### … … 575 615 set k pow(10.,x) 576 616 n/plot hpkz.val*$k*$k/(2*M_PI*M_PI)%x ! "connectpoints" 617 618 echo ${hpkgen.sum} 619 echo ${hpkgenf.sum} 620 echo ${hpkrec.sum} 577 621 578 622 zone
Note:
See TracChangeset
for help on using the changeset viewer.