This commit is contained in:
2019-08-08 14:49:13 +02:00
parent 553b7d8568
commit 8740e4f683
7 changed files with 156 additions and 25 deletions

View File

@ -142,7 +142,7 @@ Result<int64_t> Detector::getDetectorSerialNumber(Positions pos) const {
defs::DETECTOR_SERIAL_NUMBER);
}
Result<int64_t> Detector::getClientSoftwareVersion() const {
int64_t Detector::getClientSoftwareVersion() const {
return pimpl->getClientSoftwareVersion();
}
@ -152,8 +152,8 @@ Result<int64_t> Detector::getReceiverSoftwareVersion(Positions pos) const {
std::string Detector::getUserDetails() const { return pimpl->getUserDetails(); }
void Detector::setHostname(const std::vector<std::string> &name) {
pimpl->setHostname(name);
void Detector::setHostname(const std::vector<std::string> &value) {
pimpl->setHostname(value);
}
defs::detectorType Detector::getDetectorTypeAsEnum() const {
@ -169,18 +169,39 @@ Result<std::string> Detector::getDetectorTypeAsString(Positions pos) const {
return pimpl->Parallel(&slsDetector::getDetectorTypeAsString, pos);
}
int Detector::getNumberOfDetectors() const {
int Detector::getTotalNumberOfDetectors() const {
return pimpl->getNumberOfDetectors();
}
int Detector::getNumberOfDetectors(defs::dimension d) const {
return pimpl->getNumberOfDetectors(d);
defs::coordinates Detector::getNumberOfDetectors() const {
defs::coordinates coord;
coord.x = pimpl->getNumberOfDetectors(defs::X);
coord.y = pimpl->getNumberOfDetectors(defs::Y);
return coord;
}
void Detector::getNumberOfDetectors(int &nx, int &ny) const {
pimpl->getNumberOfDetectors(nx, ny);
Result<defs::coordinates> Detector::getNumberOfChannels(Positions pos) const {
if (pos.empty() || (pos.size() == 1 && pos[0] == -1)) {
return {pimpl->getNumberOfChannels()};
}
return pimpl->Parallel(&slsDetector::getNumberOfChannels, pos);
}
Result<defs::coordinates>
Detector::getNumberOfChannelsInclGapPixels(Positions pos) const {
if (pos.empty() || (pos.size() == 1 && pos[0] == -1)) {
return {pimpl->getTotalNumberOfChannelsInclGapPixels()};
}
return pimpl->Parallel(&slsDetector::getNumberOfChannelsInclGapPixels, pos);
}
defs::coordinates Detector::getMaxNumberOfChannels() const {
return pimpl->getMaxNumberOfChannels();
}
void Detector::setMaxNumberOfChannels(const defs::coordinates value) {
pimpl->setMaxNumberOfChannels(value);
}
// Erik
Result<uint64_t> Detector::getPatternMask(Positions pos) {

View File

@ -534,6 +534,13 @@ int multiSlsDetector::getTotalNumberOfChannels(dimension d, int detPos) {
return multi_shm()->numberOfChannel[d];
}
slsDetectorDefs::coordinates multiSlsDetector::getNumberOfChannels() const {
slsDetectorDefs::coordinates coord;
coord.x = multi_shm()->numberOfChannel[X];
coord.y = multi_shm()->numberOfChannel[Y];
return coord;
}
int multiSlsDetector::getTotalNumberOfChannelsInclGapPixels(dimension d,
int detPos) {
// single
@ -545,6 +552,13 @@ int multiSlsDetector::getTotalNumberOfChannelsInclGapPixels(dimension d,
return multi_shm()->numberOfChannelInclGapPixels[d];
}
slsDetectorDefs::coordinates multiSlsDetector::getTotalNumberOfChannelsInclGapPixels() const {
slsDetectorDefs::coordinates coord;
coord.x = multi_shm()->numberOfChannelInclGapPixels[X];
coord.y = multi_shm()->numberOfChannelInclGapPixels[Y];
return coord;
}
int multiSlsDetector::getMaxNumberOfChannelsPerDetector(dimension d) {
return multi_shm()->maxNumberOfChannelsPerDetector[d];
}
@ -554,6 +568,18 @@ int multiSlsDetector::setMaxNumberOfChannelsPerDetector(dimension d, int i) {
return multi_shm()->maxNumberOfChannelsPerDetector[d];
}
slsDetectorDefs::coordinates multiSlsDetector::getMaxNumberOfChannels() const {
slsDetectorDefs::coordinates coord;
coord.x = multi_shm()->maxNumberOfChannelsPerDetector[X];
coord.y = multi_shm()->maxNumberOfChannelsPerDetector[Y];
return coord;
}
void multiSlsDetector::setMaxNumberOfChannels(const slsDetectorDefs::coordinates c) {
multi_shm()->maxNumberOfChannelsPerDetector[X] = c.x;
multi_shm()->maxNumberOfChannelsPerDetector[Y] = c.y;
}
int multiSlsDetector::getQuad(int detPos) {
int retval = detectors[0]->getQuad();
if (retval && getNumberOfDetectors() > 1) {

View File

@ -626,11 +626,26 @@ int slsDetector::getTotalNumberOfChannels(dimension d) const {
return shm()->nChan[d] * shm()->nChip[d];
}
slsDetectorDefs::coordinates slsDetector::getNumberOfChannels() const {
slsDetectorDefs::coordinates coord;
coord.x = shm()->nChan[X] * shm()->nChip[X];
coord.y = shm()->nChan[Y] * shm()->nChip[Y];
return coord;
}
int slsDetector::getTotalNumberOfChannelsInclGapPixels(dimension d) const {
return (shm()->nChan[d] * shm()->nChip[d] +
shm()->gappixels * shm()->nGappixels[d]);
}
slsDetectorDefs::coordinates slsDetector::getNumberOfChannelsInclGapPixels() const {
slsDetectorDefs::coordinates coord;
coord.x = (shm()->nChan[X] * shm()->nChip[X] + shm()->gappixels * shm()->nGappixels[X]);
coord.y = (shm()->nChan[Y] * shm()->nChip[Y] + shm()->gappixels * shm()->nGappixels[Y]);
return coord;
}
int slsDetector::getNChans() const { return shm()->nChans; }
int slsDetector::getNChans(dimension d) const { return shm()->nChan[d]; }