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

#include <FlexBinChunk.h>

Collaboration diagram for FlexBinChunk< T >:

Public Member Functions

 FlexBinChunk ()
 
 ~FlexBinChunk ()
 
void fill (unsigned bin)
 
void fill (unsigned bin, const double &weight)
 
getBinContent (unsigned bin) const
 
void setBinContent (unsigned bin, const T &val)
 
void copyContents (T *cont) const
 
double Integral () const
 

Private Member Functions

 FlexBinChunk (const FlexBinChunk &)
 
FlexBinChunkoperator= (const FlexBinChunk &)
 
unsigned getStage (unsigned bin) const
 
bool isEmpty (unsigned bin) const
 
bool isChar (unsigned bin) const
 
bool isShort (unsigned bin) const
 
bool isFull (unsigned bin) const
 
bool stageIsEmpty (unsigned stage) const
 
bool stageIsChar (unsigned stage) const
 
bool stageIsShort (unsigned stage) const
 
bool stageIsFull (unsigned stage) const
 
void setStage (unsigned bin, unsigned stage)
 
unsigned calcOffset (unsigned bin) const
 
template<class Told , class Tnew >
unsigned changeBinStage (unsigned bin, unsigned offset)
 
template<class T2 >
T2 & getBinValRef (unsigned offset)
 
template<class T2 >
T2 getBinVal (unsigned offset) const
 
unsigned moveToFullStage (unsigned bin, unsigned currentstage, unsigned offset)
 
void possibleMoveAllBins (unsigned newarrsize)
 
template<class T2 >
void moveAllBinsToStage (uint16_t oldallocsize)
 

Private Attributes

char * m_data
 
uint32_t m_stages
 

Detailed Description

template<class T>
class FlexBinChunk< T >

Definition at line 30 of file FlexBinChunk.h.

Constructor & Destructor Documentation

◆ FlexBinChunk() [1/2]

template<class T >
FlexBinChunk< T >::FlexBinChunk ( )

◆ ~FlexBinChunk()

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

◆ FlexBinChunk() [2/2]

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

Member Function Documentation

◆ calcOffset()

template<class T >
unsigned FlexBinChunk< T >::calcOffset ( unsigned  bin) const
private

◆ changeBinStage()

template<class T >
template<class Told , class Tnew >
unsigned FlexBinChunk< T >::changeBinStage ( unsigned  bin,
unsigned  offset 
)
private

◆ copyContents()

template<class T >
void FlexBinChunk< T >::copyContents ( T *  cont) const

◆ fill() [1/2]

template<class T >
void FlexBinChunk< T >::fill ( unsigned  bin)

◆ fill() [2/2]

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

◆ getBinContent()

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

◆ getBinVal()

template<class T >
template<class T2 >
T2 FlexBinChunk< T >::getBinVal ( unsigned  offset) const
private

◆ getBinValRef()

template<class T >
template<class T2 >
T2& FlexBinChunk< T >::getBinValRef ( unsigned  offset)
private

◆ getStage()

template<class T >
unsigned FlexBinChunk< T >::getStage ( unsigned  bin) const
inlineprivate

Definition at line 57 of file FlexBinChunk.h.

57 { return (m_stages >> (2*FLEXBINCHUNK_NBINS-2*(bin+1))) & 0x3; }

◆ Integral()

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

◆ isChar()

template<class T >
bool FlexBinChunk< T >::isChar ( unsigned  bin) const
inlineprivate

Definition at line 59 of file FlexBinChunk.h.

59 { return getStage(bin)==0x1; }

◆ isEmpty()

template<class T >
bool FlexBinChunk< T >::isEmpty ( unsigned  bin) const
inlineprivate

Definition at line 58 of file FlexBinChunk.h.

58 { return getStage(bin)==0x0; }

◆ isFull()

template<class T >
bool FlexBinChunk< T >::isFull ( unsigned  bin) const
inlineprivate

Definition at line 61 of file FlexBinChunk.h.

61 { return getStage(bin)==0x3; }

◆ isShort()

template<class T >
bool FlexBinChunk< T >::isShort ( unsigned  bin) const
inlineprivate

Definition at line 60 of file FlexBinChunk.h.

60 { return getStage(bin)==0x2; }

◆ moveAllBinsToStage()

template<class T >
template<class T2 >
void FlexBinChunk< T >::moveAllBinsToStage ( uint16_t  oldallocsize)
private

◆ moveToFullStage()

template<class T >
unsigned FlexBinChunk< T >::moveToFullStage ( unsigned  bin,
unsigned  currentstage,
unsigned  offset 
)
private

◆ operator=()

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

◆ possibleMoveAllBins()

template<class T >
void FlexBinChunk< T >::possibleMoveAllBins ( unsigned  newarrsize)
private

◆ setBinContent()

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

◆ setStage()

template<class T >
void FlexBinChunk< T >::setStage ( unsigned  bin,
unsigned  stage 
)
private

◆ stageIsChar()

template<class T >
bool FlexBinChunk< T >::stageIsChar ( unsigned  stage) const
inlineprivate

Definition at line 65 of file FlexBinChunk.h.

65 { return stage==0x1; }

◆ stageIsEmpty()

template<class T >
bool FlexBinChunk< T >::stageIsEmpty ( unsigned  stage) const
inlineprivate

Definition at line 64 of file FlexBinChunk.h.

64 { return stage==0x0; }

◆ stageIsFull()

template<class T >
bool FlexBinChunk< T >::stageIsFull ( unsigned  stage) const
inlineprivate

Definition at line 67 of file FlexBinChunk.h.

67 { return stage==0x3; }

◆ stageIsShort()

template<class T >
bool FlexBinChunk< T >::stageIsShort ( unsigned  stage) const
inlineprivate

Definition at line 66 of file FlexBinChunk.h.

66 { return stage==0x2; }

Member Data Documentation

◆ m_data

template<class T >
char* FlexBinChunk< T >::m_data
private

Definition at line 53 of file FlexBinChunk.h.

◆ m_stages

template<class T >
uint32_t FlexBinChunk< T >::m_stages
private

Definition at line 54 of file FlexBinChunk.h.


The documentation for this class was generated from the following file:
python.FPGATrackSimAnalysisConfig.stage
stage
Definition: FPGATrackSimAnalysisConfig.py:451
bin
Definition: BinsDiffFromStripMedian.h:43
FlexBinChunk::m_stages
uint32_t m_stages
Definition: FlexBinChunk.h:54
FlexBinChunk::getStage
unsigned getStage(unsigned bin) const
Definition: FlexBinChunk.h:57
FLEXBINCHUNK_NBINS
#define FLEXBINCHUNK_NBINS
Definition: FlexBinChunk.h:21