diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index 179215f7f..1ccad502e 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -102,6 +102,9 @@ multiSlsDetector::multiSlsDetector(int id) : slsDetectorUtils(), shmId(-1) } id--; + for (int id=0; idalreadyExisting==0) { @@ -250,8 +253,8 @@ multiSlsDetector::multiSlsDetector(int id) : slsDetectorUtils(), shmId(-1) // setAngularConversionPointer(detectors[i]->getAngularConversionPointer(),detectors[i]->getNModsPointer(),detectors[i]->getNChans()*detectors[i]->getNChips(), i); } - for (int i=thisMultiDetector->numberOfDetectors; inumberOfDetectors; imaxNumberOfChannel[Y] = 0; //0th position - if (detectors[0]){ + if ((detectors[0]) && (thisMultiDetector->numberOfDetectors > 0)){ offsetX = thisMultiDetector->offsetX[0] = 0; offsetY = thisMultiDetector->offsetY[0] = 0; numX = thisMultiDetector->numberOfChannel[X] = detectors[0]->getTotalNumberOfChannels(X); @@ -774,7 +777,6 @@ int multiSlsDetector::removeSlsDetector(int pos) { return thisMultiDetector->numberOfDetectors; //j=pos; - for (j=mi; jmaxNumberOfChannels-=detectors[j]->getMaxNumberOfChannels(); delete detectors[j]; + detectors[j]=0; thisMultiDetector->numberOfDetectors--; - - + if (single) { for (int i=j+1; inumberOfDetectors+1; i++) { @@ -1521,8 +1523,7 @@ int multiSlsDetector::startAndReadAllNoWait(){ */ slsDetectorDefs::runStatus multiSlsDetector::getRunStatus() { - runStatus s,s1; - + runStatus s = IDLE,s1 = IDLE; if (thisMultiDetector->masterPosition>=0) if (detectors[thisMultiDetector->masterPosition]){ s = detectors[thisMultiDetector->masterPosition]->getRunStatus(); @@ -3943,11 +3944,11 @@ int multiSlsDetector::readConfigurationFile(string const fname){ //} } -#ifdef VERBOSE +#ifdef VERBOSE cout << endl; for (int ia=0; iamasterPosition; if (thisMultiDetector->masterPosition>=0) { if (detectors[i]) { @@ -4435,18 +4436,20 @@ slsDetectorDefs::runStatus multiSlsDetector::startReceiverReadout(){ setErrorMask(getErrorMask()|(1<masterPosition>=0) if (detectors[thisMultiDetector->masterPosition]){ diff --git a/slsDetectorSoftware/slsDetector/slsDetector.cpp b/slsDetectorSoftware/slsDetector/slsDetector.cpp index c0b3aac06..52acfcce3 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -3287,14 +3287,14 @@ slsDetectorDefs::runStatus slsDetector::getRunStatus(){ stopSocket->SendDataOnly(&fnum,sizeof(fnum)); stopSocket->ReceiveDataOnly(&ret,sizeof(ret)); - // cout << "________:::____________" << ret << endl; + //cout << "________:::____________" << ret << endl; if (ret==FAIL) { stopSocket->ReceiveDataOnly(mess,sizeof(mess)); std::cout<< "Detector returned error: " << mess << std::endl; } else { stopSocket->ReceiveDataOnly(&retval,sizeof(retval)); - // cout << "____________________" << retval << endl; + //cout << "____________________" << retval << endl; } stopSocket->Disconnect(); } diff --git a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp index 4cd6f5c12..e83025794 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp @@ -1193,7 +1193,7 @@ string slsDetectorCommand::cmdStatus(int narg, char *args[], int action) { } else if (action==HELP_ACTION) { return helpStatus(narg,args,HELP_ACTION); } - runStatus s=myDet->getRunStatus(); + runStatus s=myDet->getRunStatus(); return myDet->runStatusType(s); }