From 28ad4a1f8c4e1fee76eaa57c30c03ebf92d2789b Mon Sep 17 00:00:00 2001 From: bergamaschi Date: Fri, 17 Jan 2014 08:25:42 +0000 Subject: [PATCH] bug solved in angular data merging git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@716 951219d9-93cf-4727-9268-0efd64621fa3 --- .../mythenDetectorServer/mcb_funcs.c | 12 ++++++------ .../mythenDetectorServer/mythenDetectorServer | Bin 389910 -> 389622 bytes .../angularConversionStatic.cpp | 6 +++--- .../slsDetectorAnalysis/postProcessing.cpp | 10 +++++++--- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/slsDetectorSoftware/mythenDetectorServer/mcb_funcs.c b/slsDetectorSoftware/mythenDetectorServer/mcb_funcs.c index 40774e26d..5efb2ae4f 100755 --- a/slsDetectorSoftware/mythenDetectorServer/mcb_funcs.c +++ b/slsDetectorSoftware/mythenDetectorServer/mcb_funcs.c @@ -2198,7 +2198,7 @@ int testExtPulseMux(int imod, int ow) { if (v!=vright) { result++; chipr++; - printf("Counter test mux %d mode: channel %d chip %d read %d instead of %d\n",ow, ichan+(ichip+imod*NCHIP)*NCHAN, ichip, v, vright); + // printf("Counter test mux %d mode: channel %d chip %d read %d instead of %d\n",ow, ichan+(ichip+imod*NCHIP)*NCHAN, ichip, v, vright); //break; } //printf("\n"); @@ -2272,7 +2272,7 @@ int testDataInOutMux(int imod, int ow, int num) { if (v!=vright) { result++; chipr++; - printf("DataInOut test mux %d mode: channel %d chip %d read %d instead of %d\n",ow, ichan+(ichip+imod*NCHIP)*NCHAN, ichip, v, vright); + printf("DataInOut test mux %d mode: channel %d chip %d read %08x instead of %08x\n",ow, ichan+(ichip+imod*NCHIP)*NCHAN, ichip, v, vright); //break; } //printf("\n"); @@ -2363,13 +2363,13 @@ int testOutMux(int imod) { v=val & 1<< j; if (pat & (1<<(i*dist))) { if (v==0) { - printf("Outmux: module %d chip %i bit %d read %d instead of %ld\n",k, j,(i*dist), v,pat & (1<<(i*dist) )); + // printf("Outmux: module %d chip %i bit %d read %d instead of %ld\n",k, j,(i*dist), v,pat & (1<<(i*dist) )); result++; } // should be 1 } else { if (v) { - printf("Outmux: module %d chip %i bit %d read %d instead of %ld\n",k, j,(i*dist), v,pat & (1<<(i*dist) )); + // printf("Outmux: module %d chip %i bit %d read %d instead of %ld\n",k, j,(i*dist), v,pat & (1<<(i*dist) )); result++; } } @@ -2564,13 +2564,13 @@ int testFpgaMux(int imod) { v=val & 1<< j; if (pat & (1<<(i*dist))) { if (v==0) { - printf("Fpgamux: module %d chip %i bit %d read %d instead of %ld\n",k,j,(i*dist), v,pat & (1<<(i*dist) )); + // printf("Fpgamux: module %d chip %i bit %d read %d instead of %ld\n",k,j,(i*dist), v,pat & (1<<(i*dist) )); result++; } // should be 1 } else { if (v) { - printf("Fpgamux: module %d chip %i bit %d read %d instead of %ld\n",k,j,(i*dist), v,pat & (1<<(i*dist) )); + // printf("Fpgamux: module %d chip %i bit %d read %d instead of %ld\n",k,j,(i*dist), v,pat & (1<<(i*dist) )); result++; } } diff --git a/slsDetectorSoftware/mythenDetectorServer/mythenDetectorServer b/slsDetectorSoftware/mythenDetectorServer/mythenDetectorServer index 4f08aa7342b4bd1d1fabd86699438c2ec6ff1ee1..de79377bfd03cbe75650f74346de505fde4530b0 100755 GIT binary patch delta 40088 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 diff --git a/slsDetectorSoftware/slsDetectorAnalysis/angularConversionStatic.cpp b/slsDetectorSoftware/slsDetectorAnalysis/angularConversionStatic.cpp index 9eca91610..43e5a4436 100644 --- a/slsDetectorSoftware/slsDetectorAnalysis/angularConversionStatic.cpp +++ b/slsDetectorSoftware/slsDetectorAnalysis/angularConversionStatic.cpp @@ -330,7 +330,6 @@ int angularConversionStatic::finalizeMerging(double *mp, double *mv, double *me, int np=0; for (int ibin=0; ibin0) { - #ifdef VERBOSE cout << "finalize " << ibin << " "<< mm[ibin] << " " << mp[ibin]<< " " << mv[ibin] << " " << me[ibin] << endl; #endif @@ -452,9 +451,10 @@ int angularConversionStatic::addPointToMerging(double p1, double v1, double e1, // #ifdef VERBOSE // cout << "add " << ibin << " "<< mm[ibin] << " " << mp[ibin]<< mv[ibin] << me[ibin] << endl; // #endif - } else + } else { + cout << "Bin out of range! " << ibin << endl; return slsDetectorDefs::FAIL; - + } return slsDetectorDefs::OK; diff --git a/slsDetectorSoftware/slsDetectorAnalysis/postProcessing.cpp b/slsDetectorSoftware/slsDetectorAnalysis/postProcessing.cpp index 60a2d68c4..3e8d2b96b 100644 --- a/slsDetectorSoftware/slsDetectorAnalysis/postProcessing.cpp +++ b/slsDetectorSoftware/slsDetectorAnalysis/postProcessing.cpp @@ -233,9 +233,13 @@ void postProcessing::doProcessing(double *lfdata, int delflag, string fname) { #endif addFrame(lfdata,currentPosition, currentI0, t, fname, 0); + cout << "++++++++++++++++++++" << GetCurrentPositionIndex() << " " << npos << " " << positionFinished() << " " << dataQueueSize() << endl; + if ((GetCurrentPositionIndex()>=npos && dataQueueSize()) || npos<2) { + //&& - if ((GetCurrentPositionIndex()>=npos && positionFinished() && dataQueueSize()) || npos<2) { - + while(positionFinished()==0) { + ; + } #ifdef VERBOSE cout << "finalize dataset" << endl; #endif @@ -248,7 +252,7 @@ void postProcessing::doProcessing(double *lfdata, int delflag, string fname) { fname=createFileName(); pthread_mutex_unlock(&mp); //} - + if((*correctionMask)&(1<