#include "machdefs.h" #include "toimanager.h" #include "pexceptions.h" #include "ctimer.h" #include "toi2map.h" #include "xastropack.h" //////////////////////////////////////////////////////////////////////// TOI2Map::TOI2Map(SphereHEALPix* sph,SphereHEALPix* wsph) : mSph(sph), mWSph(wsph), mWSphInternal(false), mTypCoor(false), mActualYear(2001.) { if(mSph->NbPixels()<1) { cout<<"TOI2Map::TOI2Map() Bad number of pixels in sphere mSph " <NbPixels()<SetPixels(0.); int nlat = mSph->SizeIndex(); if(mWSph==NULL) { mWSph = new SphereHEALPix(nlat); mWSphInternal = true; } else { mWSphInternal = false; if(nlat != mWSph->SizeIndex()) mWSph->Resize(nlat); } if(mWSph->NbPixels()<1) { cout<<"TOI2Map::TOI2Map() Bad number of pixels in sphere mWSph " <NbPixels()<SetPixels(0); } TOI2Map::~TOI2Map() { if(mWSph && !mWSphInternal) delete mWSph; } //////////////////////////////////////////////////////////////////////// void TOI2Map::init() { cout << "TOI2Map::init" << endl; declareInput("AlphaIn"); // input index 0 declareInput("DeltaIn"); // input index 1 declareInput("BoloIn"); // input index 2 } //////////////////////////////////////////////////////////////////////// void TOI2Map::run() { long snb = getMinIn(); long sne = getMaxIn(); if(snb>sne) { cout<<"TOI2Map::run() - Bad sample interval"<90.) fgbolo=1; if(alpha<0. || alpha>=24.) fgbolo=1; if(bolo<-32767.) fgbolo=1; // Bidouille Archeops if(!fgbolo) { // sphere phi entre [0,2*Pi] en radians // sphere theta entre [0,Pi] en radians double phi,theta; if(mTypCoor) { double mjd = MJDfrYear(mActualYear); EqtoGal(mjd,alpha,delta,&alpha,&delta); phi = alpha * M_PI/180.; } else phi = alpha * M_PI/12.; theta = (90.-delta)*M_PI/180.; int_4 ipix = mSph->PixIndexSph(theta,phi); (*mSph)(ipix) += bolo; ((*mWSph)(ipix))++; mNSnFill++; } } // Remplissage des spheres for(int_4 i=0;iNbPixels();i++) { r_8 wf = (*mWSph)(i); if( wf > 0. ) { mNpixFill++; (*mSph)(i) /= wf; } int_4 nf = int_4(wf); if(nf>=NFILL) nf=NFILL-1; NFill[nf]++; } cout<<"TOI2Map::run(): mNpixTot="<NbPixels() <<" mNpixFill="< FracSky="<NbPixels()<<"%"<