mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-24 02:27:59 +02:00
Guidetector (#54)
* WIP * dacWidget * main WIP * advanced WIP * WIP * WIP * WIP * WIP * WIP * WIP * works * updated gui to chrono * review fixes * unitque ptrs in gui
This commit is contained in:
@ -250,14 +250,14 @@ void Detector::setTimingMode(defs::timingMode value, Positions pos) {
|
||||
void Detector::acquire() { pimpl->acquire(); }
|
||||
|
||||
void Detector::startAcquisition() {
|
||||
if (getUseReceiverFlag({}).squash())
|
||||
if (getUseReceiverFlag().squash(true))
|
||||
pimpl->Parallel(&slsDetector::startReceiver, {});
|
||||
pimpl->Parallel(&slsDetector::startAcquisition, {});
|
||||
}
|
||||
|
||||
void Detector::stopAcquisition() {
|
||||
pimpl->Parallel(&slsDetector::stopAcquisition, {});
|
||||
if (getUseReceiverFlag({}).squash()) // TODO: problem for acquire()
|
||||
if (getUseReceiverFlag().squash(true))
|
||||
pimpl->Parallel(&slsDetector::stopReceiver, {});
|
||||
}
|
||||
|
||||
@ -768,9 +768,9 @@ void Detector::setRxAddGapPixels(bool enable) {
|
||||
Result<bool> Detector::getParallelMode(Positions pos) const {
|
||||
auto res = pimpl->Parallel(&slsDetector::setReadOutFlags, pos,
|
||||
defs::GET_READOUT_FLAGS);
|
||||
Result<bool> booleanRes;
|
||||
for (unsigned int i = 0; i < res.size(); ++i) {
|
||||
booleanRes[i] = (res[i] & defs::PARALLEL) ? true : false;
|
||||
Result<bool> booleanRes(res.size());
|
||||
for (size_t i = 0; i < res.size(); ++i) {
|
||||
booleanRes[i] = res[i] & defs::PARALLEL;
|
||||
}
|
||||
return booleanRes;
|
||||
}
|
||||
@ -783,9 +783,9 @@ void Detector::setParallelMode(bool value, Positions pos) {
|
||||
Result<bool> Detector::getOverFlowMode(Positions pos) const {
|
||||
auto res = pimpl->Parallel(&slsDetector::setReadOutFlags, pos,
|
||||
defs::GET_READOUT_FLAGS);
|
||||
Result<bool> booleanRes;
|
||||
for (unsigned int i = 0; i < res.size(); ++i) {
|
||||
booleanRes[i] = (res[i] & defs::SHOW_OVERFLOW) ? true : false;
|
||||
Result<bool> booleanRes(res.size());
|
||||
for (size_t i = 0; i < res.size(); ++i) {
|
||||
booleanRes[i] = res[i] & defs::SHOW_OVERFLOW;
|
||||
}
|
||||
return booleanRes;
|
||||
}
|
||||
@ -824,6 +824,10 @@ Result<ns> Detector::getRateCorrection(Positions pos) const {
|
||||
return pimpl->Parallel(&slsDetector::getRateCorrection, pos);
|
||||
}
|
||||
|
||||
void Detector::setDefaultRateCorrection(Positions pos) {
|
||||
pimpl->Parallel(&slsDetector::setDefaultRateCorrection, pos);
|
||||
}
|
||||
|
||||
void Detector::setRateCorrection(ns dead_time, Positions pos) {
|
||||
pimpl->Parallel(&slsDetector::setRateCorrection, pos, dead_time.count());
|
||||
}
|
||||
|
@ -2358,7 +2358,20 @@ int multiSlsDetector::setAutoComparatorDisableMode(int ival, int detPos) {
|
||||
return sls::minusOneIfDifferent(r);
|
||||
}
|
||||
|
||||
void multiSlsDetector::setDefaultRateCorrection(int detPos) {
|
||||
// single
|
||||
if (detPos >= 0) {
|
||||
detectors[detPos]->setDefaultRateCorrection();
|
||||
}
|
||||
|
||||
// multi
|
||||
parallelCall(&slsDetector::setDefaultRateCorrection);
|
||||
}
|
||||
|
||||
void multiSlsDetector::setRateCorrection(int64_t t, int detPos) {
|
||||
if (t < 0) {
|
||||
throw sls::RuntimeError("Dead time has to be greater or equal to 0");
|
||||
}
|
||||
// single
|
||||
if (detPos >= 0) {
|
||||
detectors[detPos]->setRateCorrection(t);
|
||||
|
@ -2719,6 +2719,13 @@ sls_detector_module slsDetector::getModule() {
|
||||
return myMod;
|
||||
}
|
||||
|
||||
void slsDetector::setDefaultRateCorrection() {
|
||||
FILE_LOG(logDEBUG1) << "Setting Default Rate Correction";
|
||||
int64_t arg = -1;
|
||||
sendToDetector(F_SET_RATE_CORRECT, arg, nullptr);
|
||||
shm()->deadTime = -1;
|
||||
}
|
||||
|
||||
void slsDetector::setRateCorrection(int64_t t) {
|
||||
FILE_LOG(logDEBUG1) << "Setting Rate Correction to " << t;
|
||||
sendToDetector(F_SET_RATE_CORRECT, t, nullptr);
|
||||
|
Reference in New Issue
Block a user