Merge branch 'mythen3' of github.com:slsdetectorgroup/slsDetectorPackage into mythen3

This commit is contained in:
maliakal_d 2020-05-20 10:15:04 +02:00
commit 5690914048
5 changed files with 15 additions and 18 deletions

View File

@ -1275,14 +1275,7 @@ void Detector::setExptime(int gateIndex, ns t, Positions pos) {
}
Result<std::array<ns, 3>> Detector::getExptimeForAllGates(Positions pos) const {
auto t = pimpl->Parallel(&Module::getExptimeForAllGates, pos);
Result<std::array<ns, 3>> res(t.size());
for (unsigned int i = 0; i < t.size(); ++i) {
for (unsigned int j = 0; j != 3; ++j) {
res[i][j] = static_cast<ns>(t[i][j]);
}
}
return res;
return pimpl->Parallel(&Module::getExptimeForAllGates, pos);
}
Result<ns> Detector::getGateDelay(int gateIndex, Positions pos) const {

View File

@ -151,7 +151,7 @@ template <typename Ret> Ret Module::sendToDetector(int fnum) {
<< sizeof(Ret) << "]";
Ret retval{};
sendToDetector(fnum, nullptr, 0, &retval, sizeof(retval));
LOG(logDEBUG1) << "Got back: " << retval;
LOG(logDEBUG1) << "Got back: " << ToString(retval);
return retval;
}
@ -163,7 +163,7 @@ Ret Module::sendToDetector(int fnum, const Arg &args) {
<< typeid(Ret).name() << ", " << sizeof(Ret) << "]";
Ret retval{};
sendToDetector(fnum, &args, sizeof(args), &retval, sizeof(retval));
LOG(logDEBUG1) << "Got back: " << retval;
LOG(logDEBUG1) << "Got back: " << ToString(retval);
return retval;
}
@ -1060,10 +1060,10 @@ void Module::setExptime(int gateIndex, int64_t value) {
}
}
std::array<int64_t, 3> Module::getExptimeForAllGates() {
std::array<int64_t, 3> retval;
sendToDetector(F_GET_EXPTIME_ALL_GATES, nullptr, retval);
return retval;
std::array<time::ns, 3> Module::getExptimeForAllGates() {
static_assert(sizeof(time::ns) == 8, "ns needs to be 64bit");
return sendToDetector<std::array<time::ns, 3>>(F_GET_EXPTIME_ALL_GATES);
}
int64_t Module::getGateDelay(int gateIndex) {

View File

@ -432,7 +432,7 @@ class Module : public virtual slsDetectorDefs {
void setExptime(int gateIndex, int64_t value);
/** [Mythen3] for all gates */
std::array<int64_t, 3> getExptimeForAllGates();
std::array<time::ns, 3> getExptimeForAllGates();
/** [Mythen3] gatIndex: 0-2 */
int64_t getGateDelay(int gateIndex);

View File

@ -12,6 +12,7 @@
#include "sls_detector_defs.h"
#include "sls_detector_exceptions.h"
#include "string_utils.h"
#include <array>
#include <chrono>
#include <iomanip>
#include <map>
@ -38,9 +39,6 @@ std::string ToString(const defs::timingSourceType s);
std::string ToString(const slsDetectorDefs::ROI &roi);
std::ostream &operator<<(std::ostream &os, const slsDetectorDefs::ROI &roi);
const std::string &ToString(const std::string &s);
/** Convert std::chrono::duration with specified output unit */

View File

@ -232,3 +232,9 @@ TEST_CASE("Streaming of slsDetectorDefs::ROI") {
REQUIRE(oss.str() == "[-10, 1]");
}
TEST_CASE("std::array"){
std::array<int, 3> arr{4,6,7};
REQUIRE(ToString(arr) == "[4, 6, 7]");
}