ATLAS Offline Software
Loading...
Searching...
No Matches
KLGaussianMixtureReduction.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
15
16#ifndef KLGaussianMixReductionUtils_H
17#define KLGaussianMixReductionUtils_H
18
21//
22#include <vector>
23#include <cstdint>
24
25namespace GSFUtils {
26
31{
32 double mean = 0.;
33 double cov = 0.;
34 double invCov = 1e10;
35 double weight = 0.;
36};
43struct Merge {
44 int To = 0;
45 int From = 0;
46};
47using MergeArray = std::vector<Merge>;
48
64findMerges(Component1DArray&& componentsIn, const int reducedSize);
65
66} // namespace KLGaussianMixtureReduction
67
68#endif
Dynamic array fullfilling alignment requirements.
MergeArray findMerges(Component1DArray &&componentsIn, const int reducedSize)
Return which components need to be merged.
AlignedDynArray< Component1D, GSFConstants::alignment > Component1DArray
std::vector< Merge > MergeArray
A wrapper around std::aligned_alloc.
struct representing 1D component
struct representing an array or the merges.