mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2026-01-17 14:32:28 +01:00
moench: adding enums for zmq parameters, needs modification in naming
This commit is contained in:
@@ -1955,6 +1955,53 @@ std::string multiSlsDetector::getAdditionalJsonParameter(const std::string &key,
|
||||
return sls::concatenateIfDifferent(r);
|
||||
}
|
||||
|
||||
|
||||
int multiSlsDetector::setDetectorMinMaxEnergyThreshold(const int index, int value, int detPos) {
|
||||
std::string parameter = (index ? "emax" : "emin");
|
||||
|
||||
std::string result;
|
||||
if (value < 0) {
|
||||
result = getAdditionalJsonParameter(parameter, detPos);
|
||||
} else {
|
||||
result = setAdditionalJsonParameter(parameter, std::to_string(value), detPos);
|
||||
}
|
||||
|
||||
// convert to integer
|
||||
try {
|
||||
return stoi(result);
|
||||
}
|
||||
// not found or cannot scan integer
|
||||
catch(...) {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
int multiSlsDetector::setFrameMode(frameModeType value, int detPos) {
|
||||
std::string parameter = "frameMode";
|
||||
std::string result;
|
||||
|
||||
if (value == GET_FRAME_MODE) {
|
||||
result = getAdditionalJsonParameter(parameter, detPos);
|
||||
} else {
|
||||
result = setAdditionalJsonParameter(parameter, getFrameModeType(value), detPos);
|
||||
}
|
||||
|
||||
return getFrameModeType(result);
|
||||
}
|
||||
|
||||
int multiSlsDetector::setDetectorMode(detectorModeType value, int detPos) {
|
||||
std::string parameter = "detectorMode";
|
||||
std::string result;
|
||||
|
||||
if (value == GET_DETECTOR_MODE) {
|
||||
result = getAdditionalJsonParameter(parameter, detPos);
|
||||
} else {
|
||||
result = setAdditionalJsonParameter(parameter, getDetectorModeType(value), detPos);
|
||||
}
|
||||
|
||||
return getDetectorModeType(result);
|
||||
}
|
||||
|
||||
int multiSlsDetector::setReceiverUDPSocketBufferSize(int udpsockbufsize, int detPos) {
|
||||
// single
|
||||
if (detPos >= 0) {
|
||||
|
||||
@@ -1087,6 +1087,30 @@ class multiSlsDetector : public virtual slsDetectorDefs,
|
||||
*/
|
||||
std::string getAdditionalJsonParameter(const std::string& key, int detPos = -1);
|
||||
|
||||
/**
|
||||
* Sets the detector minimum/maximum energy threshold in processor (for Moench only)
|
||||
* @param index 0 for emin, antyhing else for emax
|
||||
* @param v value to set (-1 gets)
|
||||
* @returns detector minimum/maximum energy threshold (-1 for not found or error in computing json parameter value)
|
||||
*/
|
||||
int setDetectorMinMaxEnergyThreshold(const int index, int value, int detPos = -1);
|
||||
|
||||
/**
|
||||
* Sets the frame mode in processor (Moench only)
|
||||
* @param value frameModeType (-1 gets)
|
||||
* @param detPos -1 for all detectors in list or specific detector position
|
||||
* @returns frame mode (-1 for not found or error in computing json parameter value)
|
||||
*/
|
||||
int setFrameMode(frameModeType value, int detPos = -1);
|
||||
|
||||
/**
|
||||
* Sets the detector mode in processor (Moench only)
|
||||
* @param value detectorModetype (-1 gets)
|
||||
* @param detPos -1 for all detectors in list or specific detector position
|
||||
* @returns detector mode (-1 for not found or error in computing json parameter value)
|
||||
*/
|
||||
int setDetectorMode(detectorModeType value, int detPos = -1);
|
||||
|
||||
/**
|
||||
* Sets the receiver UDP socket buffer size
|
||||
* @param udpsockbufsize additional json header
|
||||
|
||||
Reference in New Issue
Block a user