ATLAS Offline Software
Classes | Functions
GSFUtils Namespace Reference

Dynamic array fullfilling alignment requirements. More...

Classes

struct  AlignedDynArray
 A wrapper around std::aligned_alloc. More...
 
struct  Component1D
 struct representing 1D component More...
 
struct  Component1DArray
 struct representing an array of 1D component. More...
 
struct  MergeArray
 struct representing an array or the merges. More...
 

Functions

MergeArray findMerges (const Component1DArray &componentsIn, const int8_t reducedSize)
 Find the order in which the components need to be merged. More...
 

Detailed Description

Dynamic array fullfilling alignment requirements.

Author
Anthony Morley, Christos Anastopoulos

Function Documentation

◆ findMerges()

MergeArray GSFUtils::findMerges ( const Component1DArray componentsIn,
const int8_t  reducedSize 
)

Find the order in which the components need to be merged.

Returns an MergeArray with the merges (To,From). The index of the merged From is always smaller than the To (RHS is smaller than LHS)

Component1DArray : Array of simplified 1D components used to calculate the merge order using q/p. Its size can not exceed GSFConstants::maxComponentsAfterConvolution

reducedSize The size we want to reduce the mixture to. Needs to be smaller than the numComponents of the componentsIn array

Definition at line 391 of file KLGaussianMixtureReduction.cxx.

392 {
393  const int n = componentsIn.numComponents;
395  reducedSize > n) {
396  throw std::runtime_error("findMerges :Invalid InputSize or reducedSize");
397  }
398  return findMergesImpl(componentsIn, n, reducedSize);
399 }
GSFUtils::Component1DArray::numComponents
int numComponents
Definition: KLGaussianMixtureReduction.h:46
beamspotman.n
n
Definition: beamspotman.py:731
GSFConstants::maxComponentsAfterConvolution
constexpr int8_t maxComponentsAfterConvolution
The maximum size State x Bethe-Heitler components The typical number we use is the max 6x12 = 72 i....
Definition: GsfConstants.h:61