From 50111bcea790c2989a6a60f74d5575ef431aba66 Mon Sep 17 00:00:00 2001 From: Erik Frojdh Date: Fri, 16 Mar 2018 10:41:30 +0100 Subject: [PATCH] removed unused variable in slsDetector --- .../multiSlsDetector/multiSlsDetector.cpp | 315 +++++++++--------- 1 file changed, 157 insertions(+), 158 deletions(-) diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index c415be085..becc2fd76 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -57,7 +57,7 @@ int multiSlsDetector::freeSharedMemory() { int multiSlsDetector::initSharedMemory(int id=0) { - + key_t mem_key=DEFAULT_SHM_KEY+MAXDET+id; int shm_id; int sz; @@ -76,20 +76,20 @@ int multiSlsDetector::initSharedMemory(int id=0) { std::cout<<"*** shmget error (server) ***"<< shm_id << std::endl; return shm_id; } - + /** thisMultiDetector pointer is set to the memory address of the shared memory */ thisMultiDetector = (sharedMultiSlsDetector*) shmat(shm_id, NULL, 0); /* attach */ - + if (thisMultiDetector == (void*)-1) { std::cout<<"*** shmat error (server) ***" << std::endl; return shm_id; } /** shm_id returns -1 is shared memory initialization fails - */ + */ return shm_id; @@ -191,7 +191,7 @@ multiSlsDetector::multiSlsDetector(int id) : slsDetectorUtils(), shmId(-1) /** set binsize*/ thisMultiDetector->binSize=0.001; thisMultiDetector->stoppedFlag=0; - + thisMultiDetector->threadedProcessing=1; thisMultiDetector->actionMask=0; @@ -205,7 +205,7 @@ multiSlsDetector::multiSlsDetector(int id) : slsDetectorUtils(), shmId(-1) for (int iscan=0; iscanscanMode[iscan]=0; strcpy(thisMultiDetector->scanScript[iscan],"none"); strcpy(thisMultiDetector->scanParameter[iscan],"none"); @@ -223,8 +223,8 @@ multiSlsDetector::multiSlsDetector(int id) : slsDetectorUtils(), shmId(-1) stoppedFlag=&thisMultiDetector->stoppedFlag; threadedProcessing=&thisMultiDetector->threadedProcessing; actionMask=&thisMultiDetector->actionMask; - actionScript=thisMultiDetector->actionScript; - actionParameter=thisMultiDetector->actionParameter; + actionScript=thisMultiDetector->actionScript; + actionParameter=thisMultiDetector->actionParameter; nScanSteps=thisMultiDetector->nScanSteps; scanMode=thisMultiDetector->scanMode; scanScript=thisMultiDetector->scanScript; @@ -343,7 +343,7 @@ int multiSlsDetector::addSlsDetector(int id, int pos) { if (slsDetector::exists(id)==0) { cout << "Detector " << id << " does not exist - You should first create it to determine type etc." << endl; } - + #ifdef VERBOSE cout << "Adding detector " << id << " in position " << pos << endl; #endif @@ -353,21 +353,21 @@ int multiSlsDetector::addSlsDetector(int id, int pos) { if (pos>j) pos=thisMultiDetector->numberOfDetectors; - + //check that it is not already in the list - + for (int i=0; inumberOfDetectors; ++i) { //check that it is not already in the list, in that case move to new position if (detectors[i]) { - if (detectors[i]->getDetectorId()==id) { + if (detectors[i]->getDetectorId()==id) { cout << "Detector " << id << "already part of the multiDetector in position " << i << "!" << endl << "Remove it before adding it back in a new position!"<< endl; return -1; } } } - + if (pos!=thisMultiDetector->numberOfDetectors) { @@ -386,10 +386,10 @@ int multiSlsDetector::addSlsDetector(int id, int pos) { detectors[pos]=new slsDetector(pos, id, this); thisMultiDetector->detectorIds[pos]=detectors[pos]->getDetectorId(); ++thisMultiDetector->numberOfDetectors; - + thisMultiDetector->dataBytes+=detectors[pos]->getDataBytes(); thisMultiDetector->dataBytesInclGapPixels+=detectors[pos]->getDataBytesInclGapPixels(); - + thisMultiDetector->numberOfChannels+=detectors[pos]->getTotalNumberOfChannels(); thisMultiDetector->maxNumberOfChannels+=detectors[pos]->getMaxNumberOfChannels(); @@ -646,7 +646,7 @@ string multiSlsDetector::getHostname(int pos) { } } return s; - + } @@ -667,7 +667,7 @@ slsDetectorDefs::detectorType multiSlsDetector::getDetectorsType(int pos) { string multiSlsDetector::sgetDetectorsType(int pos) { - + string s=string(""); #ifdef VERBOSE cout << "returning type" << pos << endl; @@ -690,14 +690,14 @@ string multiSlsDetector::sgetDetectorsType(int pos) { } } return s; - + } int multiSlsDetector::getDetectorId(int pos) { - + #ifdef VERBOSE cout << "Getting detector ID " << pos << endl; #endif @@ -705,7 +705,7 @@ int multiSlsDetector::getDetectorId(int pos) { if (pos>=0) { if (detectors[pos]) return detectors[pos]->getDetectorId(); - } + } return -1; } @@ -721,12 +721,12 @@ int multiSlsDetector::setDetectorId(int ival, int pos){ return -1; } return -1; - + } int multiSlsDetector::addSlsDetector(const char *name, int pos) { - + detectorType t=getDetectorType(string(name)); int online=0; slsDetector *s=NULL; @@ -741,13 +741,13 @@ int multiSlsDetector::addSlsDetector(const char *name, int pos) { if (detectors[i]) { if (detectors[i]->getHostname()==string(name)) { cout << "Detector " << name << "already part of the multiDetector in position " << i << "!" << endl<< "Remove it before adding it back in a new position!"<< endl; - return -1; + return -1; } } } - + //checking that the detector doesn't already exists - + for (id=0; id0) { #ifdef VERBOSE @@ -776,7 +776,7 @@ int multiSlsDetector::addSlsDetector(const char *name, int pos) { #endif online=1; } - } + } #ifdef VERBOSE else cout << "Adding detector by type " << getDetectorType(t) << endl; @@ -790,7 +790,7 @@ int multiSlsDetector::addSlsDetector(const char *name, int pos) { break; } } - + #ifdef VERBOSE cout << "Creating detector " << id << " of type " << getDetectorType(t) << endl; #endif @@ -823,12 +823,12 @@ int multiSlsDetector::addSlsDetector(detectorType t, int pos) { break; } } - + #ifdef VERBOSE cout << "Creating detector " << id << " of type " << getDetectorType(t) << endl; #endif - slsDetector *s=new slsDetector(pos, t, id, this); - s=NULL; + new slsDetector(pos, t, id, this); + #ifdef VERBOSE cout << "Adding it to the multi detector structure" << endl; #endif @@ -855,15 +855,15 @@ int multiSlsDetector::getDetectorOffset(int pos, int &ox, int &oy) { } int multiSlsDetector::setDetectorOffset(int pos, int ox, int oy) { - - + + int ret=FAIL; - + if (pos>=0 && posnumberOfDetectors) { if (detectors[pos]) { if (ox!=-1) thisMultiDetector->offsetX[pos]=ox; - if (oy!=-1) + if (oy!=-1) thisMultiDetector->offsetY[pos]=oy; ret=OK; } @@ -875,12 +875,12 @@ int multiSlsDetector::setDetectorOffset(int pos, int ox, int oy) { int multiSlsDetector::removeSlsDetector(char *name){ for (int id=0; idnumberOfDetectors; ++id) { - if (detectors[id]) { - if (detectors[id]->getHostname()==string(name)) { - removeSlsDetector(id); - } - } - } + if (detectors[id]) { + if (detectors[id]->getHostname()==string(name)) { + removeSlsDetector(id); + } + } + } return thisMultiDetector->numberOfDetectors; }; @@ -889,7 +889,7 @@ int multiSlsDetector::removeSlsDetector(char *name){ int multiSlsDetector::removeSlsDetector(int pos) { int j; - + #ifdef VERBOSE cout << "Removing detector in position " << pos << endl; #endif @@ -910,7 +910,7 @@ int multiSlsDetector::removeSlsDetector(int pos) { //j=pos; for (j=mi; jdataBytes-=detectors[j]->getDataBytes(); @@ -947,7 +947,7 @@ int multiSlsDetector::removeSlsDetector(int pos) { - + int multiSlsDetector::setMaster(int i) { int ret=-1, slave=0; @@ -991,7 +991,7 @@ int multiSlsDetector::setMaster(int i) { } } - + } // check return value @@ -1026,10 +1026,10 @@ int multiSlsDetector::setMaster(int i) { } if (slave>0 && ret<0) ret=-2; - + if (ret<0) ret=-1; - + thisMultiDetector->masterPosition=ret; return thisMultiDetector->masterPosition; @@ -1042,17 +1042,17 @@ int multiSlsDetector::setMaster(int i) { // MASTER_TRIGGERS, /**< the master triggers the other detectors */ // SLAVE_STARTS_WHEN_MASTER_STOPS /**< the slave acquires when the master finishes, to avoid deadtime */ // } - -/** + +/** Sets/gets the synchronization mode of the various detectors \param sync syncronization mode \returns current syncronization mode */ slsDetectorDefs::synchronizationMode multiSlsDetector::setSynchronization(synchronizationMode sync) { - + synchronizationMode ret=GET_SYNCHRONIZATION_MODE, ret1=GET_SYNCHRONIZATION_MODE; - + for (int id=0; idnumberOfDetectors; ++id) { if (detectors[id]) { ret1=detectors[id]->setSynchronization(sync); @@ -1066,11 +1066,11 @@ slsDetectorDefs::synchronizationMode multiSlsDetector::setSynchronization(synchr } } - + thisMultiDetector->syncMode=ret; return thisMultiDetector->syncMode; - + } @@ -1191,10 +1191,10 @@ int multiSlsDetector::exists() { - + int multiSlsDetector::getThresholdEnergy(int pos) { - + int i, posmin, posmax; int ret1=-100, ret; @@ -1216,15 +1216,15 @@ int multiSlsDetector::getThresholdEnergy(int pos) { ret1=ret; else if (ret<(ret1-200) || ret>(ret1+200)) ret1=-1; - + } - + } thisMultiDetector->currentThresholdEV=ret1; return ret1; -} +} int multiSlsDetector::setThresholdEnergy(int e_eV, int pos, detectorSettings isettings, int tb) { @@ -1273,7 +1273,7 @@ int multiSlsDetector::setThresholdEnergy(int e_eV, int pos, detectorSettings ise thisMultiDetector->currentThresholdEV=ret; return ret; } - + @@ -1656,7 +1656,7 @@ int multiSlsDetector::startReadOut(){ } return ret1; - + }; @@ -1747,7 +1747,7 @@ int* multiSlsDetector::readFrame(){ int n; int* retval=new int[nel]; int *retdet, *p=retval; - + /** probably it's always better to have one integer per channel in any case! */ for (int id=0; idnumberOfDetectors; ++id) { @@ -1779,7 +1779,7 @@ int* multiSlsDetector::readFrame(){ int* multiSlsDetector::readAll(){ - + /** Thread for each detector?!?!?! */ // int fnum=F_READ_ALL; @@ -1791,7 +1791,7 @@ int* multiSlsDetector::readAll(){ std::cout<< "Reading all frames "<< std::endl; #endif if (thisMultiDetector->onlineFlag==ONLINE_FLAG) { - + for (int id=0; idnumberOfDetectors; ++id) { if (detectors[id]) { detectors[id]->readAllNoWait(); @@ -1812,14 +1812,14 @@ int* multiSlsDetector::readAll(){ if (detectors[id]) { detectors[id]->disconnectControl(); } - } - + } + } #ifdef VERBOSE std::cout<< "received "<< i<< " frames" << std::endl; //#else - // std::cout << std::endl; + // std::cout << std::endl; #endif return dataQueueFront(); // check what we return! @@ -1842,7 +1842,7 @@ int* multiSlsDetector::startAndReadAll(){ return NULL; } startAndReadAllNoWait(); - + while ((retval=getDataFromDetector())){ ++i; #ifdef VERBOSE @@ -1858,17 +1858,17 @@ int* multiSlsDetector::startAndReadAll(){ detectors[id]->disconnectControl(); } } - + } #ifdef VERBOSE std::cout<< "MMMM recieved "<< i<< " frames" << std::endl; //#else - // std::cout << std::endl; + // std::cout << std::endl; #endif return dataQueueFront(); // check what we return! - + }; @@ -1940,7 +1940,7 @@ slsDetectorDefs::runStatus multiSlsDetector::getRunStatus() { } for (int i=0; inumberOfDetectors; ++i) { - s1=detectors[i]->getRunStatus(); + s1=detectors[i]->getRunStatus(); if(detectors[i]->getErrorMask()) setErrorMask(getErrorMask()|(1<masterPosition>=0) if (detectors[thisMultiDetector->masterPosition]){ - ret1 = detectors[thisMultiDetector->masterPosition]->getTimeLeft(index); + ret1 = detectors[thisMultiDetector->masterPosition]->getTimeLeft(index); if(detectors[thisMultiDetector->masterPosition]->getErrorMask()) setErrorMask(getErrorMask()|(1<masterPosition)); return ret1; } - + for (i=0; inumberOfDetectors; ++i) { if (detectors[i]) { ret=detectors[i]->getTimeLeft(index); @@ -2077,9 +2077,9 @@ int64_t multiSlsDetector::getTimeLeft(timerIndex index){ ret1=-1; } } - + return ret1; - + } @@ -2087,9 +2087,9 @@ int64_t multiSlsDetector::getTimeLeft(timerIndex index){ int multiSlsDetector::setSpeed(speedVariable index, int value){ int i; int ret1=-100, ret; - - + + for (i=0; inumberOfDetectors; ++i) { if (detectors[i]) { ret=detectors[i]->setSpeed(index,value); @@ -2101,9 +2101,9 @@ int multiSlsDetector::setSpeed(speedVariable index, int value){ ret1=FAIL; } } - + return ret1; - + } @@ -2119,9 +2119,9 @@ int multiSlsDetector::setSpeed(speedVariable index, int value){ int multiSlsDetector::getDataBytes(){ - int ret=0; + int ret=0; for (int ip=0; ipnumberOfDetectors; ++ip) { - if (detectors[ip]) + if (detectors[ip]) ret+=detectors[ip]->getDataBytes(); } return ret; @@ -2146,7 +2146,7 @@ int multiSlsDetector::setDynamicRange(int n, int pos){ imi=pos; ima=pos+1; } - + for (i=imi; igetDataBytes()/sizeof(int); detp+=n; // if (detectors[0]->getDetectorsType()==JUNGFRAUCTB) { @@ -2561,7 +2561,7 @@ double* multiSlsDetector::decodeData(int *datain, int &nn, double *fdata) { return dataout; } - + //Correction /* enum correctionFlags { @@ -2605,13 +2605,13 @@ int multiSlsDetector::setFlatFieldCorrection(string fname){ if (fname=="default") { fname=string(thisMultiDetector->flatFieldFile); - } - + } + thisMultiDetector->correctionMask&=~(1<flatFieldDir,fname.c_str()); nch=readDataFile(string(ffffname),data); - + if (nch>thisMultiDetector->numberOfChannels) nch=thisMultiDetector->numberOfChannels; - + if (nch>0) { - + //???? bad ff chans? int nm=getNMods(); int chpm[nm]; @@ -2651,18 +2651,18 @@ int multiSlsDetector::setFlatFieldCorrection(string fname){ fillBadChannelMask(); if ((postProcessingFuncs::calculateFlatField(&nm, chpm, mMask, badChannelMask, data, ffcoefficients, fferrors))>=0) { strcpy(thisMultiDetector->flatFieldFile,fname.c_str()); - - + + thisMultiDetector->correctionMask|=(1<correctionMask&(1<getMaxMods(); } - - + + } } return getNMods(); @@ -3059,14 +3059,14 @@ int multiSlsDetector::setBadChannelCorrection(string fname){ if (fname=="default") fname=string(thisMultiDetector->badChanFile); - - - + + + ret=setBadChannelCorrection(fname, nbad, badlist); //#ifdef VERBOSE - cout << "multi: file contained " << ret << " badchans" << endl; + cout << "multi: file contained " << ret << " badchans" << endl; //#endif if (ret==0) { thisMultiDetector->correctionMask&=~(1<0) { thisMultiDetector->correctionMask|=(1<=detectors[idet]->getMaxNumberOfChannels()) { @@ -3119,7 +3119,7 @@ int multiSlsDetector::setBadChannelCorrection(int nbad, int *badlist, int ff) { } } if (nbaddet>0) { - + if (detectors[idet]) { #ifdef VERBOSE cout << "setting " << nbaddet << " badchans to detector " << idet << endl; @@ -3143,7 +3143,7 @@ int multiSlsDetector::setBadChannelCorrection(int nbad, int *badlist, int ff) { setErrorMask(getErrorMask()|(1<numberOfDetectors; ++i) { @@ -3157,8 +3157,8 @@ int multiSlsDetector::setBadChannelCorrection(int nbad, int *badlist, int ff) { } } thisMultiDetector->correctionMask&=~(1<correctionMask&(1<correctionMask&(1<correctionMask&(1<< ANGULAR_CONVERSION)) { return 1; - } + } return 0; - + } @@ -3540,7 +3540,7 @@ int multiSlsDetector::setChannel(int64_t reg, int ichan, int ichip, int imod) { int ret, ret1=-100; int id=-1, im=-1; int dmi=0, dma=thisMultiDetector->numberOfDetectors; - + if (decodeNMod(imod, id, im)>=0) { dmi=id; dma=id+1; @@ -3557,7 +3557,7 @@ int multiSlsDetector::setChannel(int64_t reg, int ichan, int ichip, int imod) { } } return ret1; - + } @@ -3572,9 +3572,9 @@ int multiSlsDetector::setChannel(int64_t reg, int ichan, int ichip, int imod) { double multiSlsDetector::setAngularConversionParameter(angleConversionParameter c, double v) { double ret=slsDetectorUtils::setAngularConversionParameter(c,v); for (int idet=0; idetnumberOfDetectors; ++idet) { - + if (detectors[idet]) { - + detectors[idet]->setAngularConversionParameter(c,v); if(detectors[idet]->getErrorMask()) setErrorMask(getErrorMask()|(1<numberOfDetectors; ++idet) { - + // if (detectors[idet]) { // #ifdef EPICS // // cout << "convert angle det " << idet << endl; @@ -3618,7 +3618,7 @@ double multiSlsDetector::setAngularConversionParameter(angleConversionParameter int multiSlsDetector::getBadChannelCorrection(int *bad) { //int ichan; int *bd, nd, ntot=0, choff=0;; - + if (((thisMultiDetector->correctionMask)&(1<< DISCARD_BAD_CHANNELS))==0) return 0; //else @@ -3644,7 +3644,7 @@ int multiSlsDetector::getBadChannelCorrection(int *bad) { delete [] bd; } else ntot+=nd; - + } } return ntot; @@ -3669,7 +3669,7 @@ int multiSlsDetector::exitServer() { /** returns the detector trimbit/settings directory */ char* multiSlsDetector::getSettingsDir() { string s0="", s1="", s; - + //char ans[1000]; for (int idet=0; idetnumberOfDetectors; ++idet) { @@ -3849,7 +3849,7 @@ char* multiSlsDetector::setCalDir(string s){ } return getCalDir(); -} +} /** returns the location of the calibration files @@ -3947,7 +3947,7 @@ string multiSlsDetector::setNetworkParameter(networkParameter p, string s){ return getNetworkParameter(p); -} +} int multiSlsDetector::setPort(portType t, int p) { @@ -3990,7 +3990,7 @@ int multiSlsDetector::lockServer(int p) { string multiSlsDetector::getLastClientIP() { string s0="", s1="",s ; - + for (int idet=0; idetnumberOfDetectors; ++idet) { if (detectors[idet]) { s=detectors[idet]->getLastClientIP(); @@ -4049,7 +4049,7 @@ slsDetectorDefs::externalCommunicationMode multiSlsDetector::setExternalCommunic if(detectors[0]->getErrorMask()) setErrorMask(getErrorMask()|(1<<0)); - + for (int idet=1; idetnumberOfDetectors; ++idet) { if (detectors[idet]) { ret1=detectors[idet]->setExternalCommunicationMode(pol); @@ -4108,7 +4108,7 @@ slsDetectorDefs::externalSignalFlag multiSlsDetector::setExternalSignalFlags(ext string multiSlsDetector::getSettingsFile() { string s0="", s1="",s ; - + for (int idet=0; idetnumberOfDetectors; ++idet) { if (detectors[idet]) { s=detectors[idet]->getSettingsFile(); @@ -4327,7 +4327,7 @@ int multiSlsDetector::getMaxMods() { int ret=0, ret1; - + for (int idet=0; idetnumberOfDetectors; ++idet) { if (detectors[idet]) { ret1=detectors[idet]->getMaxMods(); @@ -4390,7 +4390,7 @@ int multiSlsDetector::getMaxMod(dimension d){ int multiSlsDetector::getMaxNumberOfModules(dimension d) { int ret=0, ret1; - + for (int idet=0; idetnumberOfDetectors; ++idet) { if (detectors[idet]) { ret1=detectors[idet]->getMaxNumberOfModules(d); @@ -4543,12 +4543,12 @@ int multiSlsDetector::decodeNMod(int i, int &id, int &im) { cout <<" C---------" << id << " position " << im << endl; #endif return -1; - + } - + int64_t multiSlsDetector::getId(idMode mode, int imod) { int id, im; @@ -4799,7 +4799,7 @@ int multiSlsDetector::setAllTrimbits(int val, int imod){ return -1; } } - + // multi if(!threadpool){ cout << "Error in creating threadpool. Exiting" << endl; @@ -5113,14 +5113,14 @@ int multiSlsDetector::readConfigurationFile(string const fname){ while (ssstr.good()) { ssstr >> sargname; //if (ssstr.good()) { -#ifdef VERBOSE +#ifdef VERBOSE std::cout<< iargval << " " << sargname << std::endl; #endif strcpy(myargs[iargval], sargname.c_str()); args[iargval]=myargs[iargval]; -#ifdef VERBOSE +#ifdef VERBOSE std::cout<< "--" << iargval << " " << args[iargval] << std::endl; #endif @@ -5168,7 +5168,7 @@ int multiSlsDetector::readConfigurationFile(string const fname){ return OK; -}; +}; @@ -5286,7 +5286,7 @@ int multiSlsDetector::writeDataFile(string fname, double *data, double *err, dou ofstream outfile; - int choff=0, off=0; //idata, + int choff=0, off=0; //idata, double *pe=err, *pa=ang; int nch_left=nch, n;//, nd; @@ -5300,9 +5300,9 @@ int multiSlsDetector::writeDataFile(string fname, double *data, double *err, dou outfile.open (fname.c_str(),ios_base::out); if (outfile.is_open()) { - + for (int i=0; inumberOfDetectors; ++i) { - + if (detectors[i]) { n=detectors[i]->getTotalNumberOfChannels(); if (nch_leftgetMaxNumberOfChannels(); - + off+=n; - + if (pe) pe=err+off; - + if (pa) pa=ang+off; - + } - + } outfile.close(); return OK; @@ -5384,7 +5384,7 @@ int multiSlsDetector::readDataFile(string fname, double *data, double *err, doub #endif ifstream infile; - int iline=0;//ichan, + int iline=0;//ichan, //int interrupt=0; string str; int choff=0, off=0; @@ -6416,7 +6416,7 @@ string multiSlsDetector::getReceiverLastClientIP() { s=detectors[idet]->getReceiverLastClientIP(); if(detectors[idet]->getErrorMask()) setErrorMask(getErrorMask()|(1<numberOfDetectors; ++idet) @@ -6998,4 +6998,3 @@ bool multiSlsDetector::isAcquireReady() { thisMultiDetector->acquiringFlag = true; return OK; } -