From 3faeca06491d356fd466fc834942a7fe59ae3338 Mon Sep 17 00:00:00 2001 From: l_maliakal_d Date: Tue, 11 Sep 2012 15:15:32 +0000 Subject: [PATCH] added getchanregs function to get the trimbits git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@251 951219d9-93cf-4727-9268-0efd64621fa3 --- .../multiSlsDetector/multiSlsDetector.cpp | 15 +++++++++++++++ .../multiSlsDetector/multiSlsDetector.h | 7 ++++++- .../slsDetector/slsDetector.cpp | 15 ++++++++++++++- slsDetectorSoftware/slsDetector/slsDetector.h | 8 ++++++++ .../angularConversionStatic.o | Bin 11384 -> 11384 bytes 5 files changed, 43 insertions(+), 2 deletions(-) diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index 42e47a050..a42e7127d 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -1043,6 +1043,21 @@ slsDetectorDefs::detectorSettings multiSlsDetector::setSettings(detectorSettings +int multiSlsDetector::getChanRegs(double* retval){ + //nChansDet and currentNumChans is because of varying channel size per detector + int n = thisMultiDetector->numberOfChannels,nChansDet,currentNumChans=0; + double retval1[n]; + + for (int idet=0; idetnumberOfDetectors; idet++) { + if (detectors[idet]) { + nChansDet = detectors[idet]->getChanRegs(retval1); + + memcpy(retval + (currentNumChans * sizeof(double)), retval1 , nChansDet*sizeof(double)); + currentNumChans += nChansDet; + } + } + return n; +} diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h index 30b36a882..49473d3b0 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h @@ -427,7 +427,12 @@ class multiSlsDetector : public slsDetectorUtils { detectorSettings setSettings(detectorSettings isettings, int imod=-1); - + /** + Returns the trimbits from the detector's shared memmory + \param retval is the array with the trimbits + \returns the total number of channels for the detector + */ + int getChanRegs(double* retval); diff --git a/slsDetectorSoftware/slsDetector/slsDetector.cpp b/slsDetectorSoftware/slsDetector/slsDetector.cpp index a24c5ccef..484bb7c07 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -2438,7 +2438,7 @@ int slsDetector::setModule(sls_detector_module module){ }; slsDetectorDefs::sls_detector_module *slsDetector::getModule(int imod){ - +cout<<"getModuke:"<