ATLAS Offline Software
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
LArBadChanBitPacking Class Reference

#include <LArBadChanBitPacking.h>

Inheritance diagram for LArBadChanBitPacking:
Collaboration diagram for LArBadChanBitPacking:

Public Types

typedef std::vector< LArBadChannel::PosTypePosContainer
 

Public Member Functions

 LArBadChanBitPacking ()
 
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

Definition at line 13 of file LArBadChanBitPacking.h.

Member Typedef Documentation

◆ PosContainer

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

Definition at line 17 of file LArBadChanBitPackingBase.h.

Member Enumeration Documentation

◆ GainDependence

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

Definition at line 51 of file LArBadChanBitPackingBase.h.

Constructor & Destructor Documentation

◆ LArBadChanBitPacking()

LArBadChanBitPacking::LArBadChanBitPacking ( )

Initial assignment of bit positions same as enumerator values. This may be changed FIXME provide method for changing it

Definition at line 7 of file LArBadChanBitPacking.cxx.

8 {
9  // Here, specify each problem and its gain dependence.
34 
35  for (unsigned int i=0; i<m_enumVec.size(); i++) {
36  m_nameMap[m_nameVec[i]] = m_enumVec[i].first;
39  m_bitPos[m_enumVec[i].first] = m_enumVec[i].first;
40 
41  m_index[m_enumVec[i].first] = i;
42  }
43 
44  initMasks(); // initialize the gain masks
45 };

Member Function Documentation

◆ addBit()

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

◆ bitPosition()

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

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
inherited

◆ highGainMask()

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

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
inlineprotectedinherited

Definition at line 66 of file LArBadChanBitPackingBase.h.

66 {return m_index[pb];}

◆ initMasks()

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

◆ lowGainMask()

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

Definition at line 44 of file LArBadChanBitPackingBase.h.

44 {return m_lowGainMask;}

◆ mediumGainMask()

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

Definition at line 43 of file LArBadChanBitPackingBase.h.

43 {return m_mediumGainMask;}

◆ numberOfProblemTypes()

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

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
inherited

◆ setBit() [2/4]

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

◆ setBit() [3/4]

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

◆ setBit() [4/4]

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

◆ stringName()

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

◆ stringStatus()

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

◆ wordSize()

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

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
protectedinherited

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
protectedinherited

Definition at line 55 of file LArBadChanBitPackingBase.h.

◆ m_highGainMask

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

Definition at line 61 of file LArBadChanBitPackingBase.h.

◆ m_index

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

Definition at line 54 of file LArBadChanBitPackingBase.h.

◆ m_lowGainMask

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

Definition at line 63 of file LArBadChanBitPackingBase.h.

◆ m_mediumGainMask

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

Definition at line 62 of file LArBadChanBitPackingBase.h.

◆ m_nameMap

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

Definition at line 58 of file LArBadChanBitPackingBase.h.

◆ m_nameVec

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

Definition at line 57 of file LArBadChanBitPackingBase.h.


The documentation for this class was generated from the following files:
LArBadChannel::LArBadChannelEnum::problematicForUnknownReasonBit
@ problematicForUnknownReasonBit
Definition: LArBadChannel.h:38
LArBadChannel::LArBadChannelEnum::badFirstSampleBit
@ badFirstSampleBit
Definition: LArBadChannel.h:41
keylayer_zslicemap.pb
pb
Definition: keylayer_zslicemap.py:188
LArBadChannel::LArBadChannelEnum::deadReadoutBit
@ deadReadoutBit
Definition: LArBadChannel.h:20
TLArBadChanBitPackingBase::high
@ high
Definition: LArBadChanBitPackingBase.h:51
TLArBadChanBitPackingBase::independent
@ independent
Definition: LArBadChanBitPackingBase.h:51
LArBadChanBitPackingBase
TLArBadChanBitPackingBase< LArBadChannel::LArBadChannelEnum > LArBadChanBitPackingBase
Definition: LArBadChanBitPacking.h:11
TLArBadChanBitPackingBase::addBit
void addBit(typename T::ProblemType pb, const std::string &name, GainDependence gaindep)
LArBadChannel::LArBadChannelEnum::lowNoiseLGBit
@ lowNoiseLGBit
Definition: LArBadChannel.h:33
LArBadChannel::PosType
unsigned int PosType
Definition: LArBadChannel.h:12
LArBadChannel::LArBadChannelEnum::lowNoiseHGBit
@ lowNoiseHGBit
Definition: LArBadChannel.h:27
LArBadChannel::LArBadChannelEnum::deadCalibBit
@ deadCalibBit
Definition: LArBadChannel.h:21
LArBadChannel::LArBadChannelEnum::unstableNoiseMGBit
@ unstableNoiseMGBit
Definition: LArBadChannel.h:32
LArBadChannel::LArBadChannelEnum::missingFEBBit
@ missingFEBBit
Definition: LArBadChannel.h:36
LArBadChannel::LArBadChannelEnum::unstableBit
@ unstableBit
Definition: LArBadChannel.h:25
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
LArBadChannel::LArBadChannelEnum::almostDeadBit
@ almostDeadBit
Definition: LArBadChannel.h:23
lumiFormat.i
int i
Definition: lumiFormat.py:92
LArBadChannel::LArBadChannelEnum::unstableNoiseHGBit
@ unstableNoiseHGBit
Definition: LArBadChannel.h:29
TLArBadChanBitPackingBase::initMasks
void initMasks()
TLArBadChanBitPackingBase::m_enumVec
std::vector< std::pair< typename T::ProblemType, GainDependence > > m_enumVec
Definition: LArBadChanBitPackingBase.h:55
LArBadChannel::LArBadChannelEnum::highNoiseMGBit
@ highNoiseMGBit
Definition: LArBadChannel.h:31
TLArBadChanBitPackingBase::m_nameVec
std::vector< std::string > m_nameVec
Definition: LArBadChanBitPackingBase.h:57
LArBadChannel::LArBadChannelEnum::sporadicBurstNoiseBit
@ sporadicBurstNoiseBit
Definition: LArBadChannel.h:39
LArBadChannel::LArBadChannelEnum::unstableNoiseLGBit
@ unstableNoiseLGBit
Definition: LArBadChannel.h:35
TLArBadChanBitPackingBase::m_index
std::vector< int > m_index
Definition: LArBadChanBitPackingBase.h:54
TLArBadChanBitPackingBase::medium
@ medium
Definition: LArBadChanBitPackingBase.h:51
LArBadChannel::LArBadChannelEnum::reflaggedByLADIeSBit
@ reflaggedByLADIeSBit
Definition: LArBadChannel.h:43
TLArBadChanBitPackingBase::m_nameMap
std::map< std::string, typename T::ProblemType > m_nameMap
Definition: LArBadChanBitPackingBase.h:58
LArBadChannel::LArBadChannelEnum::shortBit
@ shortBit
Definition: LArBadChannel.h:24
LArBadChannel::LArBadChannelEnum::distortedBit
@ distortedBit
Definition: LArBadChannel.h:26
TLArBadChanBitPackingBase::m_lowGainMask
LArBadChannel::BitWord m_lowGainMask
Definition: LArBadChanBitPackingBase.h:63
LArBadChannel::LArBadChannelEnum::lowNoiseMGBit
@ lowNoiseMGBit
Definition: LArBadChannel.h:30
LArBadChannel::LArBadChannelEnum::deadSCACellBit
@ deadSCACellBit
Definition: LArBadChannel.h:40
LArBadChannel::LArBadChannelEnum::unflaggedByLADIeSBit
@ unflaggedByLADIeSBit
Definition: LArBadChannel.h:42
LArBadChannel::LArBadChannelEnum::highNoiseHGBit
@ highNoiseHGBit
Definition: LArBadChannel.h:28
LArBadChannel::LArBadChannelEnum::highNoiseLGBit
@ highNoiseLGBit
Definition: LArBadChannel.h:34
LArBadChannel::LArBadChannelEnum::peculiarCalibrationLineBit
@ peculiarCalibrationLineBit
Definition: LArBadChannel.h:37
LArBadChannel::LArBadChannelEnum::deadPhysBit
@ deadPhysBit
Definition: LArBadChannel.h:22
TLArBadChanBitPackingBase::low
@ low
Definition: LArBadChanBitPackingBase.h:51