From 2b269663fbd255d0bd17f6b2fa72bdd1a92c020d Mon Sep 17 00:00:00 2001 From: Dominik Smith <smith@th.physik.uni-frankfurt.de> Date: Tue, 13 Feb 2024 13:02:30 +0100 Subject: [PATCH] More cleanup. --- reco/detectors/trd/CbmTrdModuleRecR.cxx | 35 ++++++------------------- 1 file changed, 8 insertions(+), 27 deletions(-) diff --git a/reco/detectors/trd/CbmTrdModuleRecR.cxx b/reco/detectors/trd/CbmTrdModuleRecR.cxx index 3e005d4504..5aa32e38f8 100644 --- a/reco/detectors/trd/CbmTrdModuleRecR.cxx +++ b/reco/detectors/trd/CbmTrdModuleRecR.cxx @@ -115,13 +115,7 @@ std::vector<CbmTrdCluster> CbmTrdModuleRecR::BuildClusters(bool) size_t count = 0; double data[3] = {0, 0, 0}; const double& operator[](size_t ind) const { return data[ind]; } - ///// To do: std::count invalid values instead - - double& operator[](size_t ind) - { - count++; - return data[ind]; - } + double& operator[](size_t ind) { return (count++, data[ind]); } double GetCoG() { return (data[2] / data[0]) - (data[1] / data[0]); } }; @@ -286,10 +280,8 @@ std::vector<CbmTrdCluster> CbmTrdModuleRecR::BuildClusters(bool) } //! while (true) addClusters(cluster, &clustersOut); - } //! for (auto mainit = fDigiMap.begin(); mainit != fDigiMap.end(); mainit++) - return clustersOut; } @@ -298,29 +290,18 @@ void CbmTrdModuleRecR::addClusters(std::deque<std::pair<Int_t, const CbmTrdDigi* std::vector<CbmTrdCluster>* clustersOut) { // create vector for indice matching - std::vector<Int_t> digiIndices(cluster.size()); - Int_t idigi = 0; + std::vector<Int_t> digiIndices; + digiIndices.reserve(cluster.size()); - CbmDigiManager::Instance()->Init(); + // add digi ids to vector + std::transform(cluster.begin(), cluster.end(), std::back_inserter(digiIndices), + [](const auto& pair) { return pair.first; }); - for (std::deque<std::pair<Int_t, const CbmTrdDigi*>>::iterator iDigi = cluster.begin(); iDigi != cluster.end(); - iDigi++) { - // add digi id to vector - digiIndices[idigi] = iDigi->first; - idigi++; - } - - // add the clusters to the Array - // const CbmDigi* digi = static_cast<const - // CbmDigi*>(fDigis->At(digiIndices.front())); + // add the cluster to the Array CbmTrdCluster& newcluster = clustersOut->emplace_back(); - - // std::cout<<idigi<<std::endl; newcluster.SetAddress(fModAddress); newcluster.SetDigis(digiIndices); - newcluster.SetNCols(idigi); - - // BuildChannelMap(cluster); + newcluster.SetNCols(digiIndices.size()); } //_______________________________________________________________________________ -- GitLab