/* Distributions de masse pour n=1,2,3,... tirages */ #include "sopnamsp.h" #include "machdefs.h" #include #include #include #include #include #include #include "timing.h" #include "histos.h" #include "ntuple.h" #include "srandgen.h" #include "perandom.h" #include "geneutils.h" #include "cosmocalc.h" #include "schechter.h" #include void usage(void); void usage(void) { cout<<"cmvschdist -m xmin,xmax -a -n nbin -r ngmax,ngmin -N nalea"<xmax) xmax=10.*xmin; break; case 'r' : sscanf(optarg,"%d,%d",&ngmax,&ngmin); if(ngmin<=0) ngmin=1; if(ngmax<=0) ngmax=ngmin; if(ngmin>ngmax) ngmin=ngmax; break; case 'n' : sscanf(optarg,"%d",&npt); if(npt<=0) npt = 100; break; case 'N' : sscanf(optarg,"%llu",&nalea); if(nalea<=0) nalea=10000; break; case 'a' : Auto_Ini_Ranf(5); break; case 'h' : default : usage(); return -1; } } double lnx1=log10(xmin), lnx2=log10(xmax), dlnx = (lnx2-lnx1)/npt; cout<<"xmin="< Schechter m*dn/dm nstar="< Creating "< vhisto; vector vhname; for(int i=ngmin;i<=ngmax;i++) { Histo* h = new Histo(hmdndm); h->Zero(); vhisto.push_back(h); char str[32]; sprintf(str,"h%d",i); vhname.push_back(string(str)); } //------- Random InitTim(); cout<<"> Random: "<Add(sum/(double)i); } if(ia%lpmod==0) PrtTim(" "); } PrtTim("End Random loop"); //------- Ecriture ppf cout<<"Ecriture"<NEntries()>0) pos.PutObject(*vhisto[i],vhname[i]); //------- des-allocation for(unsigned int i=0;i0. ! "connectpoints" echo ${h100.vmax} c++exec \ for(int i=0;i<$h.NBins();i++) \ if($h(i)>0.) { \ cout<