ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | List of all members
FlexErrArrayGroup< T > Class Template Reference

#include <FlexErrArrayGroup.h>

Collaboration diagram for FlexErrArrayGroup< T >:

Public Member Functions

 FlexErrArrayGroup (unsigned nbins=FLEXERRARRAYGROUP_MAXBINS)
 
 ~FlexErrArrayGroup ()
 
void fill (unsigned bin STRICT_ROOT_PAR(bool pretendSumWMode))
 
void fill (unsigned bin, const double &weight STRICT_ROOT_PAR(bool pretendSumWMode))
 
getBinContent (unsigned bin) const
 
double getBinError (unsigned bin) const
 
void getBinContentAndError (unsigned bin, T &content, double &error) const
 
void setBinContent (unsigned bin, const T &val STRICT_ROOT_PAR(bool pretendSumWMode))
 
void setBinError (unsigned bin, const double &error)
 
void setBinContentAndError (unsigned bin, const T &content, const double &error)
 
bool holdsSeparateSumW2Info () const
 
void copyContents (T *cont, double *err=0) const
 
unsigned getNBins () const
 
double Integral () const
 
void resetActiveBinLoop ()
 
bool getNextActiveBin (unsigned &bin, T &content, double &error)
 

Private Member Functions

 FlexErrArrayGroup (const FlexErrArrayGroup &)
 
FlexErrArrayGroupoperator= (const FlexErrArrayGroup &)
 
void addIndexPointer (unsigned position, void *newval)
 
unsigned nIndicesUsedByChunks () const
 
unsigned nIndicesUsedByErrors () const
 
unsigned getGroupIndex (unsigned bin) const
 
unsigned getChunkBin (unsigned bin) const
 
FlexBinChunk< T > * getChunk (unsigned igroup)
 
const FlexBinChunk< T > * getChunkNoAlloc (unsigned igroup) const
 
FlexBinChunk< T > * getChunkNoAlloc (unsigned igroup)
 
double * getErrChunk (unsigned igroup)
 
const double * getErrChunkNoAlloc (unsigned igroup) const
 

Private Attributes

void ** m_indices
 
uint8_t m_nbins
 
uint8_t m_chunksallocated
 
uint8_t m_sumw2allocated
 
uint8_t m_fastloop_nextbin2check
 

Detailed Description

template<class T>
class FlexErrArrayGroup< T >

Definition at line 48 of file FlexErrArrayGroup.h.

Constructor & Destructor Documentation

◆ FlexErrArrayGroup() [1/2]

template<class T >
FlexErrArrayGroup< T >::FlexErrArrayGroup ( unsigned  nbins = FLEXERRARRAYGROUP_MAXBINS)

◆ ~FlexErrArrayGroup()

template<class T >
FlexErrArrayGroup< T >::~FlexErrArrayGroup ( )

◆ FlexErrArrayGroup() [2/2]

template<class T >
FlexErrArrayGroup< T >::FlexErrArrayGroup ( const FlexErrArrayGroup< T > &  )
private

Member Function Documentation

◆ addIndexPointer()

template<class T >
void FlexErrArrayGroup< T >::addIndexPointer ( unsigned  position,
void *  newval 
)
private

◆ copyContents()

template<class T >
void FlexErrArrayGroup< T >::copyContents ( T *  cont,
double *  err = 0 
) const

◆ fill() [1/2]

template<class T >
void FlexErrArrayGroup< T >::fill ( unsigned bin   STRICT_ROOT_PARbool pretendSumWMode)

◆ fill() [2/2]

template<class T >
void FlexErrArrayGroup< T >::fill ( unsigned  bin,
const double &weight   STRICT_ROOT_PARbool pretendSumWMode 
)

◆ getBinContent()

template<class T >
T FlexErrArrayGroup< T >::getBinContent ( unsigned  bin) const

◆ getBinContentAndError()

template<class T >
void FlexErrArrayGroup< T >::getBinContentAndError ( unsigned  bin,
T &  content,
double &  error 
) const

◆ getBinError()

template<class T >
double FlexErrArrayGroup< T >::getBinError ( unsigned  bin) const

◆ getChunk()

template<class T >
FlexBinChunk<T>* FlexErrArrayGroup< T >::getChunk ( unsigned  igroup)
private

◆ getChunkBin()

template<class T >
unsigned FlexErrArrayGroup< T >::getChunkBin ( unsigned  bin) const
inlineprivate

Definition at line 98 of file FlexErrArrayGroup.h.

98 { return bin%FLEXBINCHUNK_NBINS; }

◆ getChunkNoAlloc() [1/2]

template<class T >
FlexBinChunk<T>* FlexErrArrayGroup< T >::getChunkNoAlloc ( unsigned  igroup)
private

◆ getChunkNoAlloc() [2/2]

template<class T >
const FlexBinChunk<T>* FlexErrArrayGroup< T >::getChunkNoAlloc ( unsigned  igroup) const
private

◆ getErrChunk()

template<class T >
double* FlexErrArrayGroup< T >::getErrChunk ( unsigned  igroup)
private

◆ getErrChunkNoAlloc()

template<class T >
const double* FlexErrArrayGroup< T >::getErrChunkNoAlloc ( unsigned  igroup) const
private

◆ getGroupIndex()

template<class T >
unsigned FlexErrArrayGroup< T >::getGroupIndex ( unsigned  bin) const
inlineprivate

Definition at line 96 of file FlexErrArrayGroup.h.

◆ getNBins()

template<class T >
unsigned FlexErrArrayGroup< T >::getNBins ( ) const
inline

Definition at line 69 of file FlexErrArrayGroup.h.

69 { return m_nbins; }

◆ getNextActiveBin()

template<class T >
bool FlexErrArrayGroup< T >::getNextActiveBin ( unsigned &  bin,
T &  content,
double &  error 
)

◆ holdsSeparateSumW2Info()

template<class T >
bool FlexErrArrayGroup< T >::holdsSeparateSumW2Info ( ) const
inline

Definition at line 66 of file FlexErrArrayGroup.h.

66 { return m_sumw2allocated; }

◆ Integral()

template<class T >
double FlexErrArrayGroup< T >::Integral ( ) const

◆ nIndicesUsedByChunks()

template<class T >
unsigned FlexErrArrayGroup< T >::nIndicesUsedByChunks ( ) const
inlineprivate

Definition at line 91 of file FlexErrArrayGroup.h.

91 { return m_chunksallocated ? LWHistBitUtils::countSetBits<uint8_t>(m_chunksallocated) : 0; }//FIXME: CACHE

◆ nIndicesUsedByErrors()

template<class T >
unsigned FlexErrArrayGroup< T >::nIndicesUsedByErrors ( ) const
inlineprivate

Definition at line 92 of file FlexErrArrayGroup.h.

92 { return m_sumw2allocated ? LWHistBitUtils::countSetBits<uint8_t>(m_sumw2allocated) : 0; }

◆ operator=()

template<class T >
FlexErrArrayGroup& FlexErrArrayGroup< T >::operator= ( const FlexErrArrayGroup< T > &  )
private

◆ resetActiveBinLoop()

template<class T >
void FlexErrArrayGroup< T >::resetActiveBinLoop ( )

◆ setBinContent()

template<class T >
void FlexErrArrayGroup< T >::setBinContent ( unsigned  bin,
const T &val   STRICT_ROOT_PARbool pretendSumWMode 
)

◆ setBinContentAndError()

template<class T >
void FlexErrArrayGroup< T >::setBinContentAndError ( unsigned  bin,
const T &  content,
const double &  error 
)

◆ setBinError()

template<class T >
void FlexErrArrayGroup< T >::setBinError ( unsigned  bin,
const double &  error 
)

Member Data Documentation

◆ m_chunksallocated

template<class T >
uint8_t FlexErrArrayGroup< T >::m_chunksallocated
private

Definition at line 84 of file FlexErrArrayGroup.h.

◆ m_fastloop_nextbin2check

template<class T >
uint8_t FlexErrArrayGroup< T >::m_fastloop_nextbin2check
private

Definition at line 86 of file FlexErrArrayGroup.h.

◆ m_indices

template<class T >
void** FlexErrArrayGroup< T >::m_indices
private

Definition at line 80 of file FlexErrArrayGroup.h.

◆ m_nbins

template<class T >
uint8_t FlexErrArrayGroup< T >::m_nbins
private

Definition at line 83 of file FlexErrArrayGroup.h.

◆ m_sumw2allocated

template<class T >
uint8_t FlexErrArrayGroup< T >::m_sumw2allocated
private

Definition at line 85 of file FlexErrArrayGroup.h.


The documentation for this class was generated from the following file:
bin
Definition: BinsDiffFromStripMedian.h:43
FLEXERRARRAYGROUP_NCHUNKS
#define FLEXERRARRAYGROUP_NCHUNKS
Definition: FlexErrArrayGroup.h:26
FlexErrArrayGroup::m_chunksallocated
uint8_t m_chunksallocated
Definition: FlexErrArrayGroup.h:84
FlexErrArrayGroup::m_nbins
uint8_t m_nbins
Definition: FlexErrArrayGroup.h:83
FlexErrArrayGroup::m_sumw2allocated
uint8_t m_sumw2allocated
Definition: FlexErrArrayGroup.h:85
FLEXBINCHUNK_NBINS
#define FLEXBINCHUNK_NBINS
Definition: FlexBinChunk.h:21