ATLAS Offline Software
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
TLArBadChanBitPackingBase< T > Class Template Reference

#include <LArBadChanBitPackingBase.h>

Inheritance diagram for TLArBadChanBitPackingBase< T >:
Collaboration diagram for TLArBadChanBitPackingBase< T >:

Public Types

typedef std::vector< LArBadChannel::PosTypePosContainer
 

Public Member Functions

 TLArBadChanBitPackingBase ()
 
const std::string & stringName (typename T::ProblemType pb) const
 
std::pair< bool, typename T::ProblemType > enumName (const std::string &str) const
 
LArBadChannel::PosType bitPosition (typename T::ProblemType pb) const
 
LArBadChannel::PosType wordSize () const
 
void setBit (typename T::ProblemType pb, LArBadChannel::BitWord &word, bool value=true) const
 
void setBit (typename T::ProblemType pb, LArBadChannel &word, bool value=true) const
 
bool setBit (const std::string &name, LArBadChannel::BitWord &word, bool value=true) const
 
bool setBit (const std::string &name, LArBadChannel &word, bool value=true) const
 
std::string stringStatus (const LArBadChannel &bc) const
 
LArBadChannel::BitWord highGainMask () const
 
LArBadChannel::BitWord mediumGainMask () const
 
LArBadChannel::BitWord lowGainMask () const
 
int numberOfProblemTypes () const
 

Protected Types

enum  GainDependence { independent, low, medium, high }
 

Protected Member Functions

void addBit (typename T::ProblemType pb, const std::string &name, GainDependence gaindep)
 
int index (typename T::ProblemType pb) const
 
void initMasks ()
 

Protected Attributes

PosContainer m_bitPos
 
std::vector< int > m_index
 
std::vector< std::pair< typename T::ProblemType, GainDependence > > m_enumVec
 
std::vector< std::string > m_nameVec
 
std::map< std::string, typename T::ProblemType > m_nameMap
 
LArBadChannel::BitWord m_highGainMask
 
LArBadChannel::BitWord m_mediumGainMask
 
LArBadChannel::BitWord m_lowGainMask
 

Detailed Description

template<class T>
class TLArBadChanBitPackingBase< T >

Definition at line 14 of file LArBadChanBitPackingBase.h.

Member Typedef Documentation

◆ PosContainer

template<class T >
typedef std::vector<LArBadChannel::PosType> TLArBadChanBitPackingBase< T >::PosContainer

Definition at line 17 of file LArBadChanBitPackingBase.h.

Member Enumeration Documentation

◆ GainDependence

template<class T >
enum TLArBadChanBitPackingBase::GainDependence
protected
Enumerator
independent 
low 
medium 
high 

Definition at line 51 of file LArBadChanBitPackingBase.h.

Constructor & Destructor Documentation

◆ TLArBadChanBitPackingBase()

template<class T >
TLArBadChanBitPackingBase< T >::TLArBadChanBitPackingBase ( )
inline

Definition at line 19 of file LArBadChanBitPackingBase.h.

19  : m_bitPos( 8*sizeof(LArBadChannel::BitWord),0),
20  m_index( 8*sizeof(LArBadChannel::BitWord),-1),
21  m_highGainMask(0),
23  m_lowGainMask(0) {};

Member Function Documentation

◆ addBit()

template<class T >
void TLArBadChanBitPackingBase< T >::addBit ( typename T::ProblemType  pb,
const std::string &  name,
GainDependence  gaindep 
)
protected

◆ bitPosition()

template<class T >
LArBadChannel::PosType TLArBadChanBitPackingBase< T >::bitPosition ( typename T::ProblemType  pb) const
inline

Definition at line 29 of file LArBadChanBitPackingBase.h.

29 {return m_bitPos[static_cast<LArBadChannel::PosType>(pb)];}

◆ enumName()

template<class T >
std::pair<bool, typename T::ProblemType> TLArBadChanBitPackingBase< T >::enumName ( const std::string &  str) const

◆ highGainMask()

template<class T >
LArBadChannel::BitWord TLArBadChanBitPackingBase< T >::highGainMask ( ) const
inline

Definition at line 42 of file LArBadChanBitPackingBase.h.

42 {return m_highGainMask;}

◆ index()

template<class T >
int TLArBadChanBitPackingBase< T >::index ( typename T::ProblemType  pb) const
inlineprotected

Definition at line 66 of file LArBadChanBitPackingBase.h.

66 {return m_index[pb];}

◆ initMasks()

template<class T >
void TLArBadChanBitPackingBase< T >::initMasks ( )
protected

◆ lowGainMask()

template<class T >
LArBadChannel::BitWord TLArBadChanBitPackingBase< T >::lowGainMask ( ) const
inline

Definition at line 44 of file LArBadChanBitPackingBase.h.

44 {return m_lowGainMask;}

◆ mediumGainMask()

template<class T >
LArBadChannel::BitWord TLArBadChanBitPackingBase< T >::mediumGainMask ( ) const
inline

Definition at line 43 of file LArBadChanBitPackingBase.h.

43 {return m_mediumGainMask;}

◆ numberOfProblemTypes()

template<class T >
int TLArBadChanBitPackingBase< T >::numberOfProblemTypes ( ) const
inline

Definition at line 46 of file LArBadChanBitPackingBase.h.

46 { return m_nameVec.size();}

◆ setBit() [1/4]

template<class T >
bool TLArBadChanBitPackingBase< T >::setBit ( const std::string &  name,
LArBadChannel word,
bool  value = true 
) const

◆ setBit() [2/4]

template<class T >
bool TLArBadChanBitPackingBase< T >::setBit ( const std::string &  name,
LArBadChannel::BitWord word,
bool  value = true 
) const

◆ setBit() [3/4]

template<class T >
void TLArBadChanBitPackingBase< T >::setBit ( typename T::ProblemType  pb,
LArBadChannel word,
bool  value = true 
) const

◆ setBit() [4/4]

template<class T >
void TLArBadChanBitPackingBase< T >::setBit ( typename T::ProblemType  pb,
LArBadChannel::BitWord word,
bool  value = true 
) const

◆ stringName()

template<class T >
const std::string& TLArBadChanBitPackingBase< T >::stringName ( typename T::ProblemType  pb) const

◆ stringStatus()

template<class T >
std::string TLArBadChanBitPackingBase< T >::stringStatus ( const LArBadChannel bc) const

◆ wordSize()

template<class T >
LArBadChannel::PosType TLArBadChanBitPackingBase< T >::wordSize ( ) const
inline

Definition at line 31 of file LArBadChanBitPackingBase.h.

31 {return sizeof(LArBadChannel::BitWord);}

Member Data Documentation

◆ m_bitPos

template<class T >
PosContainer TLArBadChanBitPackingBase< T >::m_bitPos
protected

Definition at line 53 of file LArBadChanBitPackingBase.h.

◆ m_enumVec

template<class T >
std::vector< std::pair<typename T::ProblemType, GainDependence> > TLArBadChanBitPackingBase< T >::m_enumVec
protected

Definition at line 55 of file LArBadChanBitPackingBase.h.

◆ m_highGainMask

template<class T >
LArBadChannel::BitWord TLArBadChanBitPackingBase< T >::m_highGainMask
protected

Definition at line 61 of file LArBadChanBitPackingBase.h.

◆ m_index

template<class T >
std::vector<int> TLArBadChanBitPackingBase< T >::m_index
protected

Definition at line 54 of file LArBadChanBitPackingBase.h.

◆ m_lowGainMask

template<class T >
LArBadChannel::BitWord TLArBadChanBitPackingBase< T >::m_lowGainMask
protected

Definition at line 63 of file LArBadChanBitPackingBase.h.

◆ m_mediumGainMask

template<class T >
LArBadChannel::BitWord TLArBadChanBitPackingBase< T >::m_mediumGainMask
protected

Definition at line 62 of file LArBadChanBitPackingBase.h.

◆ m_nameMap

template<class T >
std::map<std::string, typename T::ProblemType> TLArBadChanBitPackingBase< T >::m_nameMap
protected

Definition at line 58 of file LArBadChanBitPackingBase.h.

◆ m_nameVec

template<class T >
std::vector<std::string> TLArBadChanBitPackingBase< T >::m_nameVec
protected

Definition at line 57 of file LArBadChanBitPackingBase.h.


The documentation for this class was generated from the following file:
keylayer_zslicemap.pb
pb
Definition: keylayer_zslicemap.py:188
TLArBadChanBitPackingBase::high
@ high
Definition: LArBadChanBitPackingBase.h:51
TLArBadChanBitPackingBase::independent
@ independent
Definition: LArBadChanBitPackingBase.h:51
LArBadChannel::PosType
unsigned int PosType
Definition: LArBadChannel.h:12
TLArBadChanBitPackingBase::m_mediumGainMask
LArBadChannel::BitWord m_mediumGainMask
Definition: LArBadChanBitPackingBase.h:62
TLArBadChanBitPackingBase::m_highGainMask
LArBadChannel::BitWord m_highGainMask
Definition: LArBadChanBitPackingBase.h:61
TLArBadChanBitPackingBase::m_bitPos
PosContainer m_bitPos
Definition: LArBadChanBitPackingBase.h:53
LArBadChannel::BitWord
unsigned int BitWord
Definition: LArBadChannel.h:13
TLArBadChanBitPackingBase::m_nameVec
std::vector< std::string > m_nameVec
Definition: LArBadChanBitPackingBase.h:57
TLArBadChanBitPackingBase::m_index
std::vector< int > m_index
Definition: LArBadChanBitPackingBase.h:54
TLArBadChanBitPackingBase::medium
@ medium
Definition: LArBadChanBitPackingBase.h:51
TLArBadChanBitPackingBase::m_lowGainMask
LArBadChannel::BitWord m_lowGainMask
Definition: LArBadChanBitPackingBase.h:63
TLArBadChanBitPackingBase::low
@ low
Definition: LArBadChanBitPackingBase.h:51