moench: adding enums for zmq parameters, needs modification in naming

This commit is contained in:
2019-02-21 16:01:24 +01:00
parent 421dbdb9b5
commit f5244faa02
7 changed files with 273 additions and 20 deletions

View File

@@ -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) {

View File

@@ -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