removed pycache

This commit is contained in:
Erik Frojdh
2019-03-15 17:59:36 +01:00
parent 3356c2d3f6
commit c0d5303b70
38 changed files with 153 additions and 86 deletions

View File

@ -72,6 +72,23 @@ multiSlsDetector::parallelCall(RT (slsDetector::*somefunc)(CT...), typename NonD
return result;
}
//Const qualified version
template <typename RT, typename... CT>
std::vector<RT>
multiSlsDetector::parallelCall(RT (slsDetector::*somefunc)(CT...), typename NonDeduced<CT>::type... Args) const{
std::vector<std::future<RT>> futures;
for (auto &d : detectors) {
futures.push_back(
std::async(std::launch::async, somefunc, d.get(), Args...));
}
std::vector<RT> result;
result.reserve(detectors.size());
for (auto &i : futures) {
result.push_back(i.get());
}
return result;
}
int multiSlsDetector::decodeNChannel(int offsetX, int offsetY, int &channelX,
int &channelY) {
channelX = -1;
@ -748,6 +765,10 @@ int multiSlsDetector::setReceiverPort(int port_number, int detPos) {
return sls::minusOneIfDifferent(r);
}
std::vector<int> multiSlsDetector::getReceiverPort() const{
return parallelCall(&slsDetector::setReceiverPort, -1);
}
int multiSlsDetector::lockServer(int p, int detPos) {
// single
if (detPos >= 0) {

View File

@ -153,16 +153,10 @@ class multiSlsDetector : public virtual slsDetectorDefs,
std::vector<RT> parallelCall(RT (slsDetector::*somefunc)(CT...),
typename NonDeduced<CT>::type... Args);
/**
* If specific position, then provide result with that detector at position
* pos else concatenate the result of all detectors
* @param somefunc function pointer
* @param pos positin of detector in array (-1 is for all)
* @returns result for detector at that position or concatenated string of
* all detectors
*/
// std::string concatResultOrPos(std::string (slsDetector::*somefunc)(int),
// int pos);
//Const qualified version
template <typename RT, typename... CT>
std::vector<RT> parallelCall(RT (slsDetector::*somefunc)(CT...),
typename NonDeduced<CT>::type... Args) const;
/**
* Decodes which detector and the corresponding channel numbers for it
@ -440,6 +434,8 @@ class multiSlsDetector : public virtual slsDetectorDefs,
*/
int setReceiverPort(int port_number = -1, int detPos = -1);
std::vector<int> getReceiverPort() const;
/**
* Lock server for this client IP
* @param p 0 to unlock, 1 to lock