#ifndef ETA_INTERPOLATION_POSXY_H #define ETA_INTERPOLATION_POSXY_H //#include "tiffIO.h" #include "etaInterpolationBase.h" #include "eta2InterpolationBase.h" #include "eta3InterpolationBase.h" class etaInterpolationPosXY : public virtual etaInterpolationBase{ public: etaInterpolationPosXY(int nx=400, int ny=400, int ns=25, int nsy=25, int nb=-1, int nby=-1, double emin=1, double emax=0) : etaInterpolationBase(nx,ny, ns, nsy, nb, nby, emin, emax){ // cout << "epxy " << nb << " " << emin << " " << emax << endl; cout << nbeta << " " << etamin << " " << etamax << endl; }; etaInterpolationPosXY(etaInterpolationPosXY *orig): etaInterpolationBase(orig) {}; virtual etaInterpolationPosXY* Clone()=0; /* { */ /* return new etaInterpolationPosXY(this); */ /* }; */ virtual void prepareInterpolation(int &ok) { ok=1; ///*Eta Distribution Rebinning*/// // double bsize=1./nSubPixels; //precision // cout<<"nPixelsX = "<=0 && etay<=1) hy[iby]=heta[ib+iby*nbetaX]; else hy[iby]=0; // tot_eta_y+=hy[iby]; } hiy[0]=hy[0]; for (int iby=1; ibytot_eta_y*(ii+1)/nSubPixels) ii++; hhy[ib+iby*nbetaX]=hiy[iby]/tot_eta_y; } } } for (int ib=0; ib=0 && etax<=1) hx[ibx]=heta[ibx+ib*nbetaX]; else { hx[ibx]=0; } } hix[0]=hx[0]; for (int ibx=1; ibxtot_eta_x*(ii+1)/nSubPixels) ii++; hhx[ibx+ib*nbetaX]=hix[ibx]/tot_eta_x; } } } int ibx, iby, ib; iby=0; while (hhx[iby*nbetaY+nbetaY/2]<0) iby++; for (ib=0; ib