// SPDX-License-Identifier: LGPL-3.0-or-other // Copyright (C) 2021 Contributors to the SLS Detector Package #include "sls/ansi.h" #include #include "single_photon_hit.h" #include "noInterpolation.h" using namespace std; #define NC 400 #define NR 400 int main(int argc, char *argv[]) { /** * trial.o [socket ip] [starting port number] [outfname] * */ if (argc<7) { cout << "Wrong usage! Should be: "<< argv[0] << " infile " << " etafile outfile runmin runmax ns" << endl; return 1; } char infname[10000]; char outfname[10000]; int runmin=atoi(argv[4]); int runmax=atoi(argv[5]); int nsubpix=atoi(argv[6]); int etabins=1000;//nsubpix*2*100; double etamin=-1, etamax=2; int quad; double sum, totquad; double sDum[2][2]; double etax, etay, int_x, int_y; int ok; int ix, iy, isx, isy; FILE *f=NULL; single_photon_hit cl(3,3); // etaInterpolationPosXY *interp=new etaInterpolationPosXY(NC, NR, nsubpix, etabins, etamin, etamax); noInterpolation *interp=new noInterpolation(NC, NR, nsubpix); // interp->readFlatField(argv[2]); // interp->prepareInterpolation(ok); int *img; float *totimg=new float[NC*NR*nsubpix*nsubpix]; for (ix=0; ixcalcQuad(cl.get_cluster(), sum, totquad, sDum); if (sum>200 && sum<580) { interp->getInterpolatedPosition(cl.x,cl.y, totquad,quad,cl.get_cluster(),int_x, int_y); interp->addToImage(int_x, int_y); } } fclose(f); #ifdef FF img=interp->getInterpolatedImage(); for (isx=0; isxwriteInterpolatedImage(outfname); img=interp->getInterpolatedImage(); for (ix=0; ixclearInterpolatedImage(); } } sprintf(outfname,argv[3],11111); WriteToTiff(totimg, outfname,NC*nsubpix,NR*nsubpix); return 0; }