From 6e07bbd4a033c1b58f635e049968d34b200ac9b7 Mon Sep 17 00:00:00 2001 From: christos <christos@cern.ch> Date: Mon, 2 Nov 2020 19:24:40 +0100 Subject: [PATCH] GsfMaterialMixtureConvolution, use std::array to keep track of which components are merged given we use std::array for the components per-se --- .../TrkGaussianSumFilter/KLGaussianMixtureReduction.h | 5 +++++ .../src/GsfMaterialMixtureConvolution.cxx | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/KLGaussianMixtureReduction.h b/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/KLGaussianMixtureReduction.h index da3dcc2e50f..3de2d3263c6 100644 --- a/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/KLGaussianMixtureReduction.h +++ b/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/KLGaussianMixtureReduction.h @@ -107,6 +107,11 @@ struct Component1DArray int32_t numComponents = 0; }; +/* typedef tracking which component has been merged + */ + +using IsMergedArray = std::array<bool,GSFConstants::maxComponentsAfterConvolution>; + /** * @brief Merge the componentsIn and return * which componets got merged diff --git a/Tracking/TrkFitter/TrkGaussianSumFilter/src/GsfMaterialMixtureConvolution.cxx b/Tracking/TrkFitter/TrkGaussianSumFilter/src/GsfMaterialMixtureConvolution.cxx index 08a80612f46..a9fcc72aaa9 100644 --- a/Tracking/TrkFitter/TrkGaussianSumFilter/src/GsfMaterialMixtureConvolution.cxx +++ b/Tracking/TrkFitter/TrkGaussianSumFilter/src/GsfMaterialMixtureConvolution.cxx @@ -349,7 +349,7 @@ Trk::GsfMaterialMixtureConvolution::update( // Merge components MultiComponentStateAssembler::Cache assemblerCache; int nMerges(0); - std::vector<bool> isMerged(n, false); + GSFUtils::IsMergedArray isMerged={}; for (const auto& mergePair : merges) { const int8_t mini = mergePair.first; const int8_t minj = mergePair.second; -- GitLab