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 394 of file KLGaussianMixtureReduction.cxx.

395 {
396  const int32_t n = componentsIn.numComponents;
398  reducedSize > n) {
399  throw std::runtime_error("findMerges :Invalid InputSize or reducedSize");
400  }
401  return findMergesImpl(componentsIn, n, reducedSize);
402 }
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
GSFUtils::Component1DArray::numComponents
int32_t numComponents
Definition: KLGaussianMixtureReduction.h:46