#include "sopnamsp.h" #include "machdefs.h" #include #include #include #include #include #include #include "timing.h" #include "ntuple.h" #include "matharr.h" #include "srandgen.h" #include "perandom.h" #include "fabtwriter.h" #include "arrctcast.h" #include "constcosmo.h" #include "schechter.h" #include "geneutils.h" #include "integfunc.h" #include "genefluct3d.h" void usage(void); void usage(void) { cout<<"cmvobserv3d [-a] [-0]"< sigma="< sigma="< > pkgen; GeneFluct3D fluct3d(pkgen,pkz); fluct3d.SetNThread(nthread); fluct3d.SetSize(nx,ny,nz,dx,dy,dz); fluct3d.Print(); double knyqmax = fluct3d.GetKmax(); double dkmin = fluct3d.GetKinc()[0]; cout<<"\n--- Computing spectra variance up to Kmax at z="< keff = kmax * (0.675)^(1/3) = kmax * 0.877 knyqmax *= 0.877; ldlkint = (log10(knyqmax)-log10(k1int))/npt; varpk_int.SetInteg(0.01,ldlkint,-1.,4); double sr2int_kmax = varpk_int.Variance(R,k1int,knyqmax); cout<<"varpk_int(<"< sigma="< rgen = ArrayCast(pkgen,undouble); double rmin,rmax; rgen.MinMax(rmin,rmax); cout<<"rgen.Min = "< "< "< "< "< "< "< "< "< n = fluct3d.GetNpix(); fwrt.WriteKey("NX",n[0]," axe transverse 1"); fwrt.WriteKey("NY",n[1]," axe transverse 2"); fwrt.WriteKey("NZ",n[2]," axe longitudinal (redshift)"); vector d; d = fluct3d.GetDinc(); fwrt.WriteKey("DX",d[0]," Mpc"); fwrt.WriteKey("DY",d[1]," Mpc"); fwrt.WriteKey("DZ",d[2]," Mpc"); d = fluct3d.GetKinc(); fwrt.WriteKey("DKX",d[0]," Mpc^-1"); fwrt.WriteKey("DKY",d[1]," Mpc^-1"); fwrt.WriteKey("DKZ",d[2]," Mpc^-1"); fwrt.WriteKey("SNOISE",snoise," Msol"); fwrt.Write(rgen); } cout<<"\n--- Add noise to HI Flux snoise="< "< d_rho/rho ecrase if(1) { cout<0 ! "nsta same red connectpoints" n/plot hpkgenf.val%log10(x) x>0 ! "nsta same orange connectpoints" n/plot hpkrec.val%log10(x) x>0 ! "nsta same blue connectpoints" set k pow(10.,x) n/plot hpkz.val*$k*$k/(2*M_PI*M_PI)%x ! "connectpoints" defscript rgensl objaoper rgen sliceyz $1 disp sliceyz_$1 endscript rgensl 0 disp hmdndm disp tirhmdndm addline 0 1 20 1 "red" */