Changeset 3790 in Sophya for trunk/Cosmo/SimLSS
- Timestamp:
- Jun 28, 2010, 2:12:24 PM (15 years ago)
- Location:
- trunk/Cosmo/SimLSS
- Files:
-
- 3 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Cosmo/SimLSS/Makefile
r3770 r3790 18 18 PROGS = \ 19 19 $(EXE)cmvobserv3d $(EXE)cmvobserv3df \ 20 $(EXE)cmvginit3d $(EXE)cmvginit3df $(EXE)cmvrvloscor f \20 $(EXE)cmvginit3d $(EXE)cmvginit3df $(EXE)cmvrvloscor $(EXE)cmvrvloscorf \ 21 21 $(EXE)cmvtuniv $(EXE)cmvtransf $(EXE)cmvtgrowth $(EXE)cmvtstpk \ 22 22 $(EXE)cmvtstsch $(EXE)cmvtstblack $(EXE)cmvtvarspec $(EXE)cmvdefsurv \ 23 23 $(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 25 26 26 27 PROGSOBJ = \ 27 28 $(OBJ)cmvobserv3d.o $(OBJ)cmvobserv3df.o \ 28 $(OBJ)cmvginit3d.o $(OBJ)cmvginit3df.o $(OBJ)cmvrvloscor f.o \29 $(OBJ)cmvginit3d.o $(OBJ)cmvginit3df.o $(OBJ)cmvrvloscor.o $(OBJ)cmvrvloscorf.o \ 29 30 $(OBJ)cmvtuniv.o $(OBJ)cmvtransf.o $(OBJ)cmvtgrowth.o $(OBJ)cmvtstpk.o \ 30 31 $(OBJ)cmvtstsch.o $(OBJ)cmvtstblack.o $(OBJ)cmvtvarspec.o $(OBJ)cmvdefsurv.o \ 31 32 $(OBJ)cmvtintfun.o $(OBJ)cmvtinterp.o \ 32 33 $(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 34 36 35 37 LIBROBJ = \ … … 57 59 #---- Les programmes utilisant des librairies non standard SOPHYA 58 60 SPROGS = \ 59 $(EXE)cmvfitpk 61 $(EXE)cmvfitpk $(EXE)cmvgsmcfit 60 62 61 63 SPROGSOBJ = \ 62 $(OBJ)cmvfitpk.o 64 $(OBJ)cmvfitpk.o $(OBJ)cmvgsmcfit.o 63 65 64 66 #---- … … 206 208 207 209 ############################################################################## 210 cmvrvloscor: $(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 208 217 cmvrvloscorf: $(EXE)cmvrvloscorf 209 218 echo $@ " done" … … 298 307 299 308 ############################################################################## 309 cmvgsm2sph: $(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 316 cmvgsm2cube: $(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 323 cmvgsmcfit: $(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 ############################################################################## 300 331 cmvhshsns: $(EXE)cmvhshsns 301 332 echo $@ " done" -
trunk/Cosmo/SimLSS/cmvrvloscor.cc
r3782 r3790 20 20 // set simul = 6_0p0_780 21 21 // 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.fits22 // cmvrvloscorf -n 1,30 -K 75 -S -2 ginit3d_${simul}_r.fits ginit3d_${simul}_rv.fits 23 23 24 24 void usage(void); … … 33 33 <<"-S: compute cross-power spectrum of V*conj(R) (def: no)"<<endl 34 34 <<"-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 35 36 <<endl; 36 37 } … … 39 40 { 40 41 int nthread = 1, nplany=1, nhfilllos = 25, npixcor = 0; 41 bool docube=true, dopk = false ;42 bool docube=true, dopk = false, do2d = false; 42 43 43 44 // --- Decodage des arguments 44 45 char c; 45 while((c = getopt(narg,arg,"hn:K:SN ")) != -1) {46 while((c = getopt(narg,arg,"hn:K:SN2")) != -1) { 46 47 switch (c) { 47 48 case 'n' : … … 58 59 case 'N' : 59 60 docube = false; 61 break; 62 case '2' : 63 do2d = true; 60 64 break; 61 65 case 'h' : … … 93 97 double nmax = max(Nx,max(Ny,Nz)); 94 98 cout<<"dmin="<<dmin<<" nmax="<<nmax<<endl; 95 Histo hmpc(-dmin*nmax,dmin*nmax,4 .*nmax);99 Histo hmpc(-dmin*nmax,dmin*nmax,4*nmax); 96 100 97 101 POutPersist pos("cmvrvloscor.ppf"); … … 107 111 rgen = &(fluct3d->GetRealArray()); 108 112 *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; 109 119 } 110 120 … … 147 157 for(int i=0;i<Nx;i++) { 148 158 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 } 149 164 for(int j=0;j<Ny;j+=nplany) { 150 165 bool fhis = false; … … 161 176 double lpd = (double)l + d/Dz; // valeur du deplacee 162 177 // on repartit proportionellement au recouvrement sur 2 pixels 163 long l1 = long(lpd); // pixel de droite164 long l2 = l1 + 1; // pixel de gauche178 long l1 = long(lpd); // pixel de gauche 179 long l2 = l1 + 1; // pixel de droite 165 180 lpd -= (double)l1; // recouvrement du pixel du dessus 166 181 if(l1>=0 && l1<Nz) Rdis(l1) += R(l) * (1.-lpd); 167 182 if(l2>=0 && l2<Nz) Rdis(l2) += R(l) * lpd; 168 183 } 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);} 169 187 // On remplit le cube avec le champ R redshift distordu 170 188 if(fluct3d) for(int l=0;l<Nz;l++) (*rgen)(l,j,i) += Rdis(l); … … 203 221 nlosread++; 204 222 } 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 } 205 230 } 206 231 … … 324 349 # proj selon kT (black), selon kZ (red) 325 350 n/plot hpkrec2.val%sqrt(x*x+y*y) ! ! "nsta crossmarker3 logx" 351 352 # les matrices 2D 353 set n 0 354 disp mx_$n 355 newwin 356 disp mxc_$n 326 357 */ -
trunk/Cosmo/SimLSS/cmvtuniv.cc
r3572 r3790 10 10 #include "ntuple.h" 11 11 12 #include "constcosmo.h" 12 13 #include "cosmocalc.h" 13 14 #include "geneutils.h" … … 124 125 { 125 126 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); 126 131 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; 129 135 univ.Print(z); 130 136 cout<<"Volume comoving in [z,z+"<<dz<<"] for 4Pi sr: " … … 138 144 cout<<"1d -> "<<dang*a<<" Mpc = "<<dang*a*(1.+z)<<" Mpc com"<<endl; 139 145 double dloscom = univ.Dhubble() / univ.E(z); 140 cout<<"d z=1-> "<<dloscom<<" Mpc com"<<endl;146 cout<<"dLOScom/dz -> "<<dloscom<<" Mpc com"<<endl; 141 147 } 142 148 -
trunk/Cosmo/SimLSS/genefluct3d.cc
r3781 r3790 435 435 try { 436 436 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 440 440 fwrt.WriteKey("DX",Dx_," Mpc"); 441 441 fwrt.WriteKey("DY",Dy_," Mpc"); … … 467 467 FitsImg3DRead fimg(cfname.c_str(),0,5); 468 468 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 472 472 double dx = fimg.ReadKey("DX"); 473 473 double dy = fimg.ReadKey("DY");
Note:
See TracChangeset
for help on using the changeset viewer.