mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-07 18:40:42 +02:00
fixed segfault on loading trimbits
This commit is contained in:
parent
43012e4f28
commit
38bf540c1a
@ -6,7 +6,7 @@ Created on Tue Nov 14 16:49:07 2017
|
|||||||
@author: l_frojdh
|
@author: l_frojdh
|
||||||
"""
|
"""
|
||||||
|
|
||||||
fw_version = 22
|
fw_version = 23
|
||||||
detector_type = 'Eiger'
|
detector_type = 'Eiger'
|
||||||
known_hostnames = ['beb083', 'beb098']
|
known_hostnames = ['beb083', 'beb098']
|
||||||
image_size = (512,1024) #rows, cols
|
image_size = (512,1024) #rows, cols
|
||||||
|
@ -176,7 +176,7 @@ int64_t multiSlsDetector::getId(idMode mode, int detPos) {
|
|||||||
return sls::minusOneIfDifferent(r);
|
return sls::minusOneIfDifferent(r);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<int64_t> multiSlsDetector::getDetectorNumber(){
|
std::vector<int64_t> multiSlsDetector::getDetectorNumber() {
|
||||||
return parallelCall(&slsDetector::getId, slsDetectorDefs::DETECTOR_SERIAL_NUMBER);
|
return parallelCall(&slsDetector::getId, slsDetectorDefs::DETECTOR_SERIAL_NUMBER);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -849,7 +849,7 @@ multiSlsDetector::setSettings(detectorSettings isettings, int detPos) {
|
|||||||
return (detectorSettings)sls::minusOneIfDifferent(r);
|
return (detectorSettings)sls::minusOneIfDifferent(r);
|
||||||
}
|
}
|
||||||
|
|
||||||
int multiSlsDetector::getThresholdEnergy(int detPos) {
|
int multiSlsDetector::getThresholdEnergy(int detPos){
|
||||||
// single
|
// single
|
||||||
if (detPos >= 0) {
|
if (detPos >= 0) {
|
||||||
return detectors[detPos]->getThresholdEnergy();
|
return detectors[detPos]->getThresholdEnergy();
|
||||||
@ -863,16 +863,17 @@ int multiSlsDetector::getThresholdEnergy(int detPos) {
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int multiSlsDetector::setThresholdEnergy(int e_eV, detectorSettings isettings,
|
int multiSlsDetector::setThresholdEnergy(int e_eV,
|
||||||
int tb, int detPos) {
|
detectorSettings isettings,
|
||||||
|
int tb,
|
||||||
|
int detPos) {
|
||||||
// single
|
// single
|
||||||
if (detPos >= 0) {
|
if (detPos >= 0) {
|
||||||
return detectors[detPos]->setThresholdEnergy(e_eV, isettings, tb);
|
return detectors[detPos]->setThresholdEnergy(e_eV, isettings, tb);
|
||||||
}
|
}
|
||||||
|
|
||||||
// multi
|
// multi
|
||||||
auto r =
|
auto r = parallelCall(&slsDetector::setThresholdEnergy, e_eV, isettings, tb);
|
||||||
parallelCall(&slsDetector::setThresholdEnergy, e_eV, isettings, tb);
|
|
||||||
if (sls::allEqualWithTol(r, 200)) {
|
if (sls::allEqualWithTol(r, 200)) {
|
||||||
return r.front();
|
return r.front();
|
||||||
}
|
}
|
||||||
|
@ -1339,7 +1339,7 @@ int slsDetector::setThresholdEnergyAndSettings(int e_eV, detectorSettings isetti
|
|||||||
FILE_LOG(logDEBUG1) << "Settings File is " << settingsfname;
|
FILE_LOG(logDEBUG1) << "Settings File is " << settingsfname;
|
||||||
|
|
||||||
//read the files
|
//read the files
|
||||||
myMod = createModule(); // readSettings also checks if create module is null
|
// myMod = createModule(); // readSettings also checks if create module is null
|
||||||
if (nullptr == readSettingsFile(settingsfname, myMod, tb)) {
|
if (nullptr == readSettingsFile(settingsfname, myMod, tb)) {
|
||||||
if (myMod) {
|
if (myMod) {
|
||||||
deleteModule(myMod);
|
deleteModule(myMod);
|
||||||
@ -1392,7 +1392,10 @@ int slsDetector::setThresholdEnergyAndSettings(int e_eV, detectorSettings isetti
|
|||||||
deleteModule(myMod2);
|
deleteModule(myMod2);
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
myMod->iodelay = myMod1->iodelay;
|
// myMod = createModule();
|
||||||
|
// myMod->iodelay = myMod1->iodelay;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//interpolate module
|
//interpolate module
|
||||||
myMod = interpolateTrim(myMod1, myMod2, e_eV, trim1, trim2, tb);
|
myMod = interpolateTrim(myMod1, myMod2, e_eV, trim1, trim2, tb);
|
||||||
@ -1404,6 +1407,7 @@ int slsDetector::setThresholdEnergyAndSettings(int e_eV, detectorSettings isetti
|
|||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
//interpolate tau
|
//interpolate tau
|
||||||
|
myMod->iodelay = myMod1->iodelay;
|
||||||
myMod->tau = linearInterpolation(e_eV, trim1, trim2, myMod1->tau, myMod2->tau);
|
myMod->tau = linearInterpolation(e_eV, trim1, trim2, myMod1->tau, myMod2->tau);
|
||||||
//printf("new tau:%d\n",tau);
|
//printf("new tau:%d\n",tau);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user