// Dominique YVON, CEA/DAPNIA/SPP 02/2000 #include #include #include #ifdef __MWERKS__ #include "mwerksmath.h" #include "unixmac.h" #include "macenvvariables.h" #endif #include "nbrandom.h" #include "tmatrix.h" #include "numrecipes.h" #include "integ.h" #include "fitsioserver.h" #include "lightgalaxnoresol.h" LightGalaxNoResol::LightGalaxNoResol(int_4 nside=512) { /* cerr<< "LightGalaxNoResol en travaux, ne pas utiliser"<NbPixels(); // On attribue a chaque pixel ciel un pixel carte Guiderdonni. for( long i=0; i< nbPixelLight; i++) { // double test= MyRan()*nbPixelKept; // bogue sur Mac frand01() retourne toujours la meme valeur. // On utilise ran() standard. (*pSphereIndex)(i)= (int_2) (MyRan()*nbPixelKept); } // Stockage des donnŽes Guiderdonni petites cartes // RŽserve l'espace mŽmoire nŽcessaire au stockage des cartes partielles ppskyData= new r_4* [nbPixelKept]; // Un tableau pour chaque point du ciel try { for(int i=0; i UneCarte(NbPixUnCote, NbPixUnCote); long cartefreqMHz; char filename[150]; for(int noFreq=0; noFreqPixIndexSph(theta,phi); int_2 pixNb=pSphereIndex->PixVal(index); float* pbinSpectre= ppskyData[pixNb]; //10-26 W/m2/Hz/st // On interpole au troisieme ordre. float InterpRes=0.; float InterpResErr=0.; pNR->polint(dataFreqDegueux-1,pbinSpectre-1,3,freq,&InterpRes,&InterpResErr); return (double)InterpRes*1.e-26; // W/m2/Hz/st } static double randMax=RAND_MAX; double LightGalaxNoResol::MyRan() { return rand()/randMax; }