This commit is contained in:
Erik Frojdh 2019-08-08 15:51:21 +02:00
parent 0b006b5080
commit e6349d0312
3 changed files with 52 additions and 5 deletions

View File

@ -429,6 +429,27 @@ class Detector {
// void exitReceiver(int detPos = -1);
Result<std::string> getReceiverLastClientIP(Positions pos = {}) const;
void setReceiverLock(bool value, Positions pos = {});
Result<bool> getReceiverLock(Positions pos = {});
/** true when receiver is used otherwise false */
Result<bool> getUseReceiverFlag(Positions pos = {}) const;
void printReceiverConfiguration(Positions pos = {}) const;
/** [Eiger]
* @returns deadtime in ns, 0 = disabled
*/
Result<int64_t> getRateCorrection(Positions pos = {}) const;
/**
* [Eiger] Set Rate correction
* 0 disable correction, <0 set to default, >0 deadtime in ns
*/
void setRateCorrection(int64_t dead_time_ns, Positions pos = {});
};
} // namespace sls

View File

@ -1758,14 +1758,14 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @param level print level
* @param detPos -1 for all detectors in list or specific detector position
*/
void printReceiverConfiguration(TLogLevel level = logINFO, int detPos = -1);
void printReceiverConfiguration(TLogLevel level = logINFO, int detPos = -1); //
/**
* Get receiver online status
* @param detPos -1 for all detectors in list or specific detector position
* @returns use receiver flag
*/
bool getUseReceiverFlag(int detPos = -1);
bool getUseReceiverFlag(int detPos = -1); //
/**
* Checks if the receiver is really online
@ -1773,7 +1773,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @returns empty string if all online, else concatenates hostnames of all
* detectors that are offline
*/
std::string checkReceiverOnline(int detPos = -1);
std::string checkReceiverOnline(int detPos = -1); //not needed
/**
* Locks/Unlocks the connection to the receiver
@ -1781,7 +1781,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @param detPos -1 for all detectors in list or specific detector position
* @returns lock status of the receiver
*/
int lockReceiver(int lock = -1, int detPos = -1);
int lockReceiver(int lock = -1, int detPos = -1); //
/**
* Returns the IP of the last client connecting to the receiver

View File

@ -1,5 +1,6 @@
#include "Detector.h"
#include "container_utils.h"
#include "logger.h"
#include "multiSlsDetector.h"
#include "slsDetector.h"
#include "sls_detector_defs.h"
@ -379,8 +380,33 @@ Result<int> Detector::getFramesPerFile(Positions pos) const {
return pimpl->Parallel(&slsDetector::getFramesPerFile, pos);
}
Result<std::string> Detector::getReceiverLastClientIP(Positions pos) const{
Result<std::string> Detector::getReceiverLastClientIP(Positions pos) const {
return pimpl->Parallel(&slsDetector::getReceiverLastClientIP, pos);
}
void Detector::setReceiverLock(bool value, Positions pos) {
pimpl->Parallel(&slsDetector::lockReceiver, pos, static_cast<int>(value));
}
Result<bool> Detector::getReceiverLock(Positions pos) {
return pimpl->Parallel(&slsDetector::lockReceiver, pos, -1);
}
Result<bool> Detector::getUseReceiverFlag(Positions pos) const {
return pimpl->Parallel(&slsDetector::getUseReceiverFlag, pos);
}
void Detector::printReceiverConfiguration(Positions pos) const {
pimpl->Parallel(&slsDetector::printReceiverConfiguration, pos,
TLogLevel::logINFO);
}
Result<int64_t> Detector::getRateCorrection(Positions pos) const {
return pimpl->Parallel(&slsDetector::getRateCorrection, pos);
}
void Detector::setRateCorrection(int64_t dead_time_ns, Positions pos) {
pimpl->Parallel(&slsDetector::setRateCorrection, pos, dead_time_ns);
}
} // namespace sls