Changeset 3790 in Sophya


Ignore:
Timestamp:
Jun 28, 2010, 2:12:24 PM (15 years ago)
Author:
cmv
Message:

etude des cubes generes par le GSM, cmv 28/06/2010

Location:
trunk/Cosmo/SimLSS
Files:
3 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Cosmo/SimLSS/Makefile

    r3770 r3790  
    1818PROGS = \
    1919       $(EXE)cmvobserv3d $(EXE)cmvobserv3df \
    20        $(EXE)cmvginit3d $(EXE)cmvginit3df $(EXE)cmvrvloscorf \
     20       $(EXE)cmvginit3d $(EXE)cmvginit3df $(EXE)cmvrvloscor $(EXE)cmvrvloscorf \
    2121       $(EXE)cmvtuniv $(EXE)cmvtransf $(EXE)cmvtgrowth $(EXE)cmvtstpk \
    2222       $(EXE)cmvtstsch $(EXE)cmvtstblack $(EXE)cmvtvarspec $(EXE)cmvdefsurv \
    2323       $(EXE)cmvtintfun $(EXE)cmvconcherr $(EXE)cmvtinterp $(EXE)cmvtstagn \
    24        $(EXE)cmvschdist $(EXE)cmvhshsns $(EXE)cmvhshsew
     24       $(EXE)cmvschdist $(EXE)cmvhshsns $(EXE)cmvhshsew \
     25       $(EXE)cmvgsm2sph $(EXE)cmvgsm2cube
    2526 
    2627PROGSOBJ = \
    2728          $(OBJ)cmvobserv3d.o $(OBJ)cmvobserv3df.o \
    28           $(OBJ)cmvginit3d.o $(OBJ)cmvginit3df.o $(OBJ)cmvrvloscorf.o \
     29          $(OBJ)cmvginit3d.o $(OBJ)cmvginit3df.o $(OBJ)cmvrvloscor.o $(OBJ)cmvrvloscorf.o \
    2930          $(OBJ)cmvtuniv.o $(OBJ)cmvtransf.o $(OBJ)cmvtgrowth.o $(OBJ)cmvtstpk.o \
    3031          $(OBJ)cmvtstsch.o $(OBJ)cmvtstblack.o $(OBJ)cmvtvarspec.o $(OBJ)cmvdefsurv.o \
    3132          $(OBJ)cmvtintfun.o $(OBJ)cmvtinterp.o \
    3233          $(OBJ)cmvconcherr.o $(OBJ)cmvtluc.o $(OBJ)cmvtstagn.o $(OBJ)cmvschdist.o \
    33           $(OBJ)cmvhshsns.o $(OBJ)cmvhshsew.o
     34          $(OBJ)cmvhshsns.o $(OBJ)cmvhshsew.o \
     35          $(OBJ)cmvgsm2sph.o $(OBJ)cmvgsm2cube.o
    3436 
    3537LIBROBJ = \
     
    5759#---- Les programmes utilisant des librairies non standard SOPHYA
    5860SPROGS = \
    59        $(EXE)cmvfitpk
     61       $(EXE)cmvfitpk $(EXE)cmvgsmcfit
    6062
    6163SPROGSOBJ = \
    62        $(OBJ)cmvfitpk.o
     64       $(OBJ)cmvfitpk.o $(OBJ)cmvgsmcfit.o
    6365
    6466#----
     
    206208
    207209##############################################################################
     210cmvrvloscor: $(EXE)cmvrvloscor
     211        echo $@ " done"
     212$(EXE)cmvrvloscor: $(OBJ)cmvrvloscor.o $(LIBR) $(LIBG)
     213        $(CXXLINK) $(CXXREP) -o $@ $(OBJ)cmvrvloscorf.o $(MYLIB)
     214$(OBJ)cmvrvloscor.o: cmvrvloscor.cc
     215        $(CXXCOMPILE) $(CXXREP) -I$(MYEXTINC) -o $@ cmvrvloscor.cc
     216
    208217cmvrvloscorf: $(EXE)cmvrvloscorf
    209218        echo $@ " done"
     
    298307
    299308##############################################################################
     309cmvgsm2sph: $(EXE)cmvgsm2sph
     310        echo $@ " done"
     311$(EXE)cmvgsm2sph: $(OBJ)cmvgsm2sph.o $(LIBR)
     312        $(CXXLINK) $(CXXREP) -o $@ $(OBJ)cmvgsm2sph.o $(MYLIB)
     313$(OBJ)cmvgsm2sph.o: cmvgsm2sph.cc
     314        $(CXXCOMPILE) $(CXXREP) -I$(MYEXTINC) -o $@ cmvgsm2sph.cc
     315
     316cmvgsm2cube: $(EXE)cmvgsm2cube
     317        echo $@ " done"
     318$(EXE)cmvgsm2cube: $(OBJ)cmvgsm2cube.o $(LIBR)
     319        $(CXXLINK) $(CXXREP) -o $@ $(OBJ)cmvgsm2cube.o $(MYLIB)
     320$(OBJ)cmvgsm2cube.o: cmvgsm2cube.cc
     321        $(CXXCOMPILE) $(CXXREP) -I$(MYEXTINC) -o $@ cmvgsm2cube.cc
     322
     323cmvgsmcfit: $(EXE)cmvgsmcfit
     324        echo $@ " done"
     325$(EXE)cmvgsmcfit: $(OBJ)cmvgsmcfit.o $(LIBR)
     326        $(CXXLINK) $(CXXREP) -o $@ $(OBJ)cmvgsmcfit.o $(MYLIB) -lMinuit2
     327$(OBJ)cmvgsmcfit.o: cmvgsmcfit.cc
     328        $(CXXCOMPILE) $(CXXREP) -I$(MYEXTINC) -o $@ cmvgsmcfit.cc
     329
     330##############################################################################
    300331cmvhshsns: $(EXE)cmvhshsns
    301332        echo $@ " done"
  • trunk/Cosmo/SimLSS/cmvrvloscor.cc

    r3782 r3790  
    2020// set simul = 6_0p0_780
    2121// cmvrvloscorf -K 75 -S ginit3d_${simul}_r.fits ginit3d_${simul}_rv.fits
    22 // cmvrvloscorf -n 1,30 -K 75 -S ginit3d_${simul}_r.fits ginit3d_${simul}_rv.fits
     22// cmvrvloscorf -n 1,30 -K 75 -S -2 ginit3d_${simul}_r.fits ginit3d_${simul}_rv.fits
    2323
    2424void usage(void);
     
    3333<<"-S: compute cross-power spectrum of V*conj(R) (def: no)"<<endl
    3434<<"-N: do not create 3D cube and recompute 1D and 2D spectra (def: no do-it !)"<<endl
     35<<"-2: compute 2D projection fpr dRho and dRho(corrected) (def=no)"<<endl
    3536<<endl;
    3637}
     
    3940{
    4041 int nthread = 1, nplany=1, nhfilllos = 25, npixcor = 0;
    41  bool docube=true, dopk = false;
     42 bool docube=true, dopk = false, do2d = false;
    4243 
    4344 // --- Decodage des arguments
    4445 char c;
    45  while((c = getopt(narg,arg,"hn:K:SN")) != -1) {
     46 while((c = getopt(narg,arg,"hn:K:SN2")) != -1) {
    4647  switch (c) {
    4748  case 'n' :
     
    5859  case 'N' :
    5960    docube = false;
     61    break;
     62  case '2' :
     63    do2d = true;
    6064    break;
    6165  case 'h' :
     
    9397 double nmax = max(Nx,max(Ny,Nz));
    9498 cout<<"dmin="<<dmin<<" nmax="<<nmax<<endl;
    95  Histo hmpc(-dmin*nmax,dmin*nmax,4.*nmax);
     99 Histo hmpc(-dmin*nmax,dmin*nmax,4*nmax);
    96100
    97101 POutPersist pos("cmvrvloscor.ppf");
     
    107111   rgen = &(fluct3d->GetRealArray());
    108112   *rgen = 0.;
     113   cout<<"rgen:  size [1]="<<rgen->SizeX()
     114                           <<" [2]="<<rgen->SizeY()
     115                           <<" [3]="<<rgen->SizeZ()<<endl;
     116   cout<<"pkgen: size [1]="<<fluct3d->GetComplexArray().SizeX()
     117                           <<" [2]="<<fluct3d->GetComplexArray().SizeY()
     118                           <<" [3]="<<fluct3d->GetComplexArray().SizeZ()<<endl;
    109119 }
    110120
     
    147157 for(int i=0;i<Nx;i++) {
    148158   if(i%(Nx/10)==0) cout<<"   i="<<i<<endl;
     159   TMatrix<r_4> M2d, M2dc;
     160   if(do2d && (i==0 || i==Nx/2 || i==Nx-1)) {
     161     M2d.ReSize(Ny,Nz); M2d = 0.;
     162     M2dc.ReSize(Ny,Nz); M2dc = 0.;
     163   }
    149164 for(int j=0;j<Ny;j+=nplany) {
    150165   bool fhis = false;
     
    161176     double lpd = (double)l + d/Dz; // valeur du deplacee
    162177     // on repartit proportionellement au recouvrement sur 2 pixels
    163      long l1 = long(lpd); // pixel de droite
    164      long l2 = l1 + 1;  // pixel de gauche
     178     long l1 = long(lpd); // pixel de gauche
     179     long l2 = l1 + 1;  // pixel de droite
    165180     lpd -= (double)l1;  // recouvrement du pixel du dessus
    166181     if(l1>=0 && l1<Nz) Rdis(l1) += R(l) * (1.-lpd);
    167182     if(l2>=0 && l2<Nz) Rdis(l2) += R(l) * lpd;
    168183   }
     184   // On remplit eventuellement les matrices 2D
     185   if(do2d && M2d.Size()>0)
     186     for(int l=0;l<Nz;l++) {M2d(j,l) = R(l); M2dc(j,l) = Rdis(l);}
    169187   // On remplit le cube avec le champ R redshift distordu
    170188   if(fluct3d) for(int l=0;l<Nz;l++) (*rgen)(l,j,i) += Rdis(l);
     
    203221   nlosread++;
    204222 }
     223   if(do2d && M2d.Size()>0) {
     224     char str[64];
     225     sprintf(str,"mx_%d",i);
     226     pos.PutObject(M2d,str);
     227     sprintf(str,"mxc_%d",i);
     228     pos.PutObject(M2dc,str);
     229   }
    205230 }
    206231
     
    324349# proj selon kT (black), selon kZ (red)
    325350n/plot hpkrec2.val%sqrt(x*x+y*y) ! ! "nsta crossmarker3 logx"
     351
     352# les matrices 2D
     353set n 0
     354disp mx_$n
     355newwin
     356disp mxc_$n
    326357 */
  • trunk/Cosmo/SimLSS/cmvtuniv.cc

    r3572 r3790  
    1010#include "ntuple.h"
    1111
     12#include "constcosmo.h"
    1213#include "cosmocalc.h"
    1314#include "geneutils.h"
     
    124125{
    125126 if(dz>z2-z1) dz = z2-z1;
     127 double fz1 = 1000.*Fr_HyperFin_Par/(1.+z1);
     128 double fz1pdz = 1000.*Fr_HyperFin_Par/(1.+z1+dz);
     129 double fz2 = 1000.*Fr_HyperFin_Par/(1.+z2);
     130 double fz2pdz = 1000.*Fr_HyperFin_Par/(1.+z2+dz);
    126131 cout<<"\nTSTPRINT(): z1="<<z1<<" z2="<<z2<<" dz="<<dz<<endl;
    127  for(double z=z1;z<z2+dz/2.;z+=dz) {
    128    cout<<"-- z = "<<z<<endl;
     132 cout<<"  "<<fz1<<" -> "<<fz2<<" MHz,    df: "<<fz1-fz1pdz<<" , "<<fz2-fz2pdz<<" MHz"<<endl;
     133 for(double z=z1;z<z2+dz/2.;z+=dz) {
     134   cout<<"\n-- z = "<<z<<"      ("<<1000.*Fr_HyperFin_Par/(1.+z)<<" MHz)"<<endl;
    129135   univ.Print(z);
    130136   cout<<"Volume comoving in [z,z+"<<dz<<"] for 4Pi sr: "
     
    138144   cout<<"1d -> "<<dang*a<<" Mpc = "<<dang*a*(1.+z)<<" Mpc com"<<endl;
    139145   double dloscom = univ.Dhubble() / univ.E(z);
    140    cout<<"dz=1 -> "<<dloscom<<" Mpc com"<<endl;
     146   cout<<"dLOScom/dz -> "<<dloscom<<" Mpc com"<<endl;
    141147 }
    142148
  • trunk/Cosmo/SimLSS/genefluct3d.cc

    r3781 r3790  
    435435 try {
    436436   FitsImg3DWriter fwrt(cfname.c_str(),bitpix,5);
    437    fwrt.WriteKey("NX",Nx_," axe transverse 1");
    438    fwrt.WriteKey("NY",Ny_," axe transverse 2");
    439    fwrt.WriteKey("NZ",Nz_," axe longitudinal (redshift)");
     437   fwrt.WriteKey("NX",Nx_," axe transverse 1");  // NAXIS3
     438   fwrt.WriteKey("NY",Ny_," axe transverse 2");  // NAXIS2
     439   fwrt.WriteKey("NZ",Nz_," axe longitudinal (redshift)");  // NAXIS1
    440440   fwrt.WriteKey("DX",Dx_," Mpc");
    441441   fwrt.WriteKey("DY",Dy_," Mpc");
     
    467467   FitsImg3DRead fimg(cfname.c_str(),0,5);
    468468   fimg.Read(R_);
    469    long nx = fimg.ReadKeyL("NX");
    470    long ny = fimg.ReadKeyL("NY");
    471    long nz = fimg.ReadKeyL("NZ");
     469   long nx = fimg.ReadKeyL("NX");  // NAXIS3
     470   long ny = fimg.ReadKeyL("NY");  // NAXIS2
     471   long nz = fimg.ReadKeyL("NZ");  // NAXIS1
    472472   double dx = fimg.ReadKey("DX");
    473473   double dy = fimg.ReadKey("DY");
Note: See TracChangeset for help on using the changeset viewer.