From cead145f51ddb424ad5fe0d3df3ff17b2f1d5fc4 Mon Sep 17 00:00:00 2001 From: Dominik Smith <smith@th.physik.uni-frankfurt.de> Date: Thu, 16 Nov 2023 10:54:09 +0100 Subject: [PATCH] Removed structured bindings from cbm::algo::tof::Hitfind. --- algo/detectors/tof/Hitfind.cxx | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/algo/detectors/tof/Hitfind.cxx b/algo/detectors/tof/Hitfind.cxx index 824630044e..5e98952dc4 100644 --- a/algo/detectors/tof/Hitfind.cxx +++ b/algo/detectors/tof/Hitfind.cxx @@ -75,8 +75,11 @@ namespace cbm::algo::tof Hitfind::resultType Hitfind::operator()(gsl::span<CbmTofDigi> digiIn) { // --- Output data - resultType result = {}; - auto& [clusterTs, monitor, digiInd] = result; + resultType result = {}; + //auto& [clusterTs, monitor, digiInd] = result; // TO DO: Re-activte this when compiler bug is fixed + auto& clusterTs = std::get<0>(result); + auto& monitor = std::get<1>(result); + auto& digiInd = std::get<2>(result); // Loop over the digis array and store the Digis in separate vectors for // each RPC modules @@ -123,7 +126,12 @@ namespace cbm::algo::tof indPrefix.resize(nthreads + 1); } - auto [clusters, sizes, addresses, indices] = Clusterizer::resultType(); + //auto [clusters, sizes, addresses, indices] = Clusterizer::resultType(); // TO DO: Re-activte this when compiler bug is fixed + auto localresult = Clusterizer::resultType(); + auto& clusters = std::get<0>(localresult); + auto& sizes = std::get<1>(localresult); + auto& addresses = std::get<2>(localresult); + auto& indices = std::get<3>(localresult); CBM_OMP(for schedule(dynamic) nowait) for (uint32_t iRpc = 0; iRpc < fAlgo.size(); iRpc++) { @@ -132,7 +140,12 @@ namespace cbm::algo::tof std::vector<std::pair<CbmTofDigi, int32_t>>& digiExp = *fStorDigiPtr[iRpc]; // Build clusters - auto [rpc_clu, rpc_size, rpc_addr, rpc_ind] = fAlgo[iRpc](digiExp); + //auto [rpc_clu, rpc_size, rpc_addr, rpc_ind] = fAlgo[iRpc](digiExp); // TO DO: Re-activte this when compiler bug is fixed + auto rpc_result = fAlgo[iRpc](digiExp); + auto& rpc_clu = std::get<0>(rpc_result); + auto& rpc_size = std::get<1>(rpc_result); + auto& rpc_addr = std::get<2>(rpc_result); + auto& rpc_ind = std::get<3>(rpc_result); // Append clusters to output clusters.insert(clusters.end(), std::make_move_iterator(rpc_clu.begin()), -- GitLab