mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-05-18 02:10:41 +02:00
replacing slsDetectorMember calls with generic function
This commit is contained in:
parent
2f8c1b453e
commit
7702865409
@ -3423,6 +3423,24 @@ int multiSlsDetector::exitServer()
|
|||||||
return ival;
|
return ival;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int multiSlsDetector::callDetectorMemeber(int (slsDetector::*somefunc)(int), int value){
|
||||||
|
int ret = -100, ret1;
|
||||||
|
for (int idet = 0; idet < thisMultiDetector->numberOfDetectors; ++idet)
|
||||||
|
if (detectors[idet]) {
|
||||||
|
// ret1 = detectors[idet]->setReceiverSilentMode(i);
|
||||||
|
ret1 = (detectors[idet]->*somefunc)(value);
|
||||||
|
if (detectors[idet]->getErrorMask())
|
||||||
|
setErrorMask(getErrorMask() | (1 << idet));
|
||||||
|
if (ret == -100)
|
||||||
|
ret = ret1;
|
||||||
|
else if (ret != ret1)
|
||||||
|
ret = -1;
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
string multiSlsDetector::callDetectorMemeber(string (slsDetector::*somefunc)())
|
string multiSlsDetector::callDetectorMemeber(string (slsDetector::*somefunc)())
|
||||||
{
|
{
|
||||||
string concatenatedValue, firstValue;
|
string concatenatedValue, firstValue;
|
||||||
@ -6252,66 +6270,22 @@ int multiSlsDetector::enableDataStreamingFromReceiver(int enable)
|
|||||||
|
|
||||||
int multiSlsDetector::enableReceiverCompression(int i)
|
int multiSlsDetector::enableReceiverCompression(int i)
|
||||||
{
|
{
|
||||||
int ret = -100, ret1;
|
return callDetectorMemeber(&slsDetector::enableReceiverCompression, i);
|
||||||
for (int idet = 0; idet < thisMultiDetector->numberOfDetectors; ++idet)
|
|
||||||
if (detectors[idet]) {
|
|
||||||
ret1 = detectors[idet]->enableReceiverCompression(i);
|
|
||||||
if (detectors[idet]->getErrorMask())
|
|
||||||
setErrorMask(getErrorMask() | (1 << idet));
|
|
||||||
if (ret == -100)
|
|
||||||
ret = ret1;
|
|
||||||
else if (ret != ret1)
|
|
||||||
ret = -1;
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int multiSlsDetector::enableTenGigabitEthernet(int i)
|
int multiSlsDetector::enableTenGigabitEthernet(int i)
|
||||||
{
|
{
|
||||||
int ret = -100, ret1;
|
return callDetectorMemeber(&slsDetector::enableTenGigabitEthernet, i);
|
||||||
for (int idet = 0; idet < thisMultiDetector->numberOfDetectors; ++idet)
|
|
||||||
if (detectors[idet]) {
|
|
||||||
ret1 = detectors[idet]->enableTenGigabitEthernet(i);
|
|
||||||
if (detectors[idet]->getErrorMask())
|
|
||||||
setErrorMask(getErrorMask() | (1 << idet));
|
|
||||||
if (ret == -100)
|
|
||||||
ret = ret1;
|
|
||||||
else if (ret != ret1)
|
|
||||||
ret = -1;
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int multiSlsDetector::setReceiverFifoDepth(int i)
|
int multiSlsDetector::setReceiverFifoDepth(int i)
|
||||||
{
|
{
|
||||||
int ret = -100, ret1;
|
return callDetectorMemeber(&slsDetector::setReceiverFifoDepth, i);
|
||||||
for (int idet = 0; idet < thisMultiDetector->numberOfDetectors; ++idet)
|
|
||||||
if (detectors[idet]) {
|
|
||||||
ret1 = detectors[idet]->setReceiverFifoDepth(i);
|
|
||||||
if (detectors[idet]->getErrorMask())
|
|
||||||
setErrorMask(getErrorMask() | (1 << idet));
|
|
||||||
if (ret == -100)
|
|
||||||
ret = ret1;
|
|
||||||
else if (ret != ret1)
|
|
||||||
ret = -1;
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int multiSlsDetector::setReceiverSilentMode(int i)
|
int multiSlsDetector::setReceiverSilentMode(int i)
|
||||||
{
|
{
|
||||||
int ret = -100, ret1;
|
return callDetectorMemeber(&slsDetector::setReceiverSilentMode, i);
|
||||||
for (int idet = 0; idet < thisMultiDetector->numberOfDetectors; ++idet)
|
|
||||||
if (detectors[idet]) {
|
|
||||||
ret1 = detectors[idet]->setReceiverSilentMode(i);
|
|
||||||
if (detectors[idet]->getErrorMask())
|
|
||||||
setErrorMask(getErrorMask() | (1 << idet));
|
|
||||||
if (ret == -100)
|
|
||||||
ret = ret1;
|
|
||||||
else if (ret != ret1)
|
|
||||||
ret = -1;
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** opens pattern file and sends pattern to CTB
|
/** opens pattern file and sends pattern to CTB
|
||||||
|
@ -1045,6 +1045,7 @@ class multiSlsDetector : public slsDetectorUtils {
|
|||||||
|
|
||||||
|
|
||||||
std::string callDetectorMemeber(std::string(slsDetector::*somefunc)());
|
std::string callDetectorMemeber(std::string(slsDetector::*somefunc)());
|
||||||
|
int callDetectorMemeber(int (slsDetector::*somefunc)(int), int value);
|
||||||
|
|
||||||
/** returns the detector trimbit/settings directory \sa sharedSlsDetector */
|
/** returns the detector trimbit/settings directory \sa sharedSlsDetector */
|
||||||
std::string getSettingsDir();
|
std::string getSettingsDir();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user