mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-18 07:47:12 +02:00
WIP
This commit is contained in:
@ -66,21 +66,15 @@ defs::xy Detector::getModuleGeometry() const {
|
||||
}
|
||||
|
||||
Result<defs::xy> Detector::getModuleSize(Positions pos) const {
|
||||
if (pos.empty() ||
|
||||
(pos.size() == 1 &&
|
||||
pos[0] == -1)) { // TODO: also check condition that pos.size ==
|
||||
// pimpl->size()?? for other occurences as well
|
||||
return {pimpl->getNumberOfChannels()};
|
||||
}
|
||||
return pimpl->Parallel(&slsDetector::getNumberOfChannels, pos);
|
||||
}
|
||||
|
||||
defs::xy Detector::getDetectorSize() const {
|
||||
return pimpl->getMaxNumberOfChannels();
|
||||
return pimpl->getNumberOfChannels();
|
||||
}
|
||||
|
||||
void Detector::setDetectorSize(const defs::xy value) {
|
||||
pimpl->setMaxNumberOfChannels(value);
|
||||
pimpl->setNumberOfChannels(value);
|
||||
}
|
||||
|
||||
Result<bool> Detector::getQuad(Positions pos) const {
|
||||
|
@ -280,8 +280,6 @@ void multiSlsDetector::initializeDetectorStructure() {
|
||||
multi_shm()->numberOfDetector.y = 0;
|
||||
multi_shm()->numberOfChannels.x = 0;
|
||||
multi_shm()->numberOfChannels.y = 0;
|
||||
multi_shm()->maxNumberOfChannels.x = 0;
|
||||
multi_shm()->maxNumberOfChannels.y = 0;
|
||||
multi_shm()->acquiringFlag = false;
|
||||
multi_shm()->receiver_upstream = false;
|
||||
}
|
||||
@ -453,7 +451,7 @@ void multiSlsDetector::updateDetectorSize() {
|
||||
|
||||
const slsDetectorDefs::xy det_size = detectors[0]->getNumberOfChannels();
|
||||
|
||||
int maxy = multi_shm()->maxNumberOfChannels.y;
|
||||
int maxy = multi_shm()->numberOfChannels.y;
|
||||
if (maxy == 0) {
|
||||
maxy = det_size.y * size();
|
||||
}
|
||||
@ -483,7 +481,6 @@ void multiSlsDetector::updateDetectorSize() {
|
||||
for (auto &d : detectors) {
|
||||
d->updateMultiSize(multi_shm()->numberOfDetector);
|
||||
}
|
||||
multi_shm()->maxNumberOfChannels = multi_shm()->numberOfChannels;
|
||||
}
|
||||
|
||||
slsDetectorDefs::detectorType multiSlsDetector::getDetectorTypeAsEnum() const {
|
||||
@ -519,7 +516,7 @@ slsDetectorDefs::xy multiSlsDetector::getNumberOfDetectors() const {
|
||||
return multi_shm()->numberOfDetector;
|
||||
}
|
||||
|
||||
slsDetectorDefs::xy multiSlsDetector::getNumberOfChannels(int detPos) {
|
||||
slsDetectorDefs::xy multiSlsDetector::getNumberOfChannels(int detPos) const {
|
||||
// single
|
||||
if (detPos >= 0) {
|
||||
return detectors[detPos]->getNumberOfChannels();
|
||||
@ -529,12 +526,11 @@ slsDetectorDefs::xy multiSlsDetector::getNumberOfChannels(int detPos) {
|
||||
return multi_shm()->numberOfChannels;
|
||||
}
|
||||
|
||||
slsDetectorDefs::xy multiSlsDetector::getMaxNumberOfChannels() const {
|
||||
return multi_shm()->maxNumberOfChannels;
|
||||
}
|
||||
|
||||
void multiSlsDetector::setMaxNumberOfChannels(const slsDetectorDefs::xy c) {
|
||||
multi_shm()->maxNumberOfChannels = c;
|
||||
void multiSlsDetector::setNumberOfChannels(const slsDetectorDefs::xy c) {
|
||||
if (size() > 1) {
|
||||
throw RuntimeError("Set the number of channels before setting hostname.");
|
||||
}
|
||||
multi_shm()->numberOfChannels = c;
|
||||
}
|
||||
|
||||
int multiSlsDetector::getQuad(int detPos) {
|
||||
|
@ -3306,7 +3306,7 @@ std::string slsDetectorCommand::cmdDetectorSize(int narg, const char * const arg
|
||||
slsDetectorDefs::xy res;
|
||||
res.x = val;
|
||||
res.y = val2;
|
||||
myDet->setMaxNumberOfChannels(res);
|
||||
myDet->setNumberOfChannels(res);
|
||||
}
|
||||
|
||||
if(cmd=="quad"){
|
||||
@ -3342,7 +3342,7 @@ std::string slsDetectorCommand::cmdDetectorSize(int narg, const char * const arg
|
||||
ROI roi = myDet->getROI(detPos);
|
||||
return (std::string("[") + std::to_string(roi.xmin) + std::string(",") + std::to_string(roi.xmax) + std::string("]"));
|
||||
} else if (cmd == "detsizechan") {
|
||||
slsDetectorDefs::xy res = myDet->getMaxNumberOfChannels();
|
||||
slsDetectorDefs::xy res = myDet->getNumberOfChannels();
|
||||
sprintf(ans, "%d %d", res.x, res.y);
|
||||
return std::string(ans);
|
||||
} else if (cmd=="quad") {
|
||||
|
@ -8,13 +8,6 @@ int slsDetectorUsers::size() const {
|
||||
return detector.size();
|
||||
}
|
||||
|
||||
int slsDetectorUsers::getMaximumDetectorSize(int &nx, int &ny){
|
||||
slsDetectorDefs::xy res = detector.getMaxNumberOfChannels();
|
||||
nx=res.x;
|
||||
ny=res.y;
|
||||
return nx*ny;
|
||||
}
|
||||
|
||||
int slsDetectorUsers::getDetectorSize(int &nx, int &ny, int detPos){
|
||||
slsDetectorDefs::xy res = detector.getNumberOfChannels();
|
||||
nx=res.x;
|
||||
|
Reference in New Issue
Block a user