mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-23 18:17:59 +02:00
removed pycache
This commit is contained in:
@ -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) {
|
||||
|
@ -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
|
||||
|
Reference in New Issue
Block a user