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

#include <LArBadChanBitPacking.h>

Inheritance diagram for LArBadChanSCBitPacking:
Collaboration diagram for LArBadChanSCBitPacking:

Public Types

typedef std::vector< LArBadChannel::PosTypePosContainer
 

Public Member Functions

 LArBadChanSCBitPacking ()
 
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 20 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

◆ LArBadChanSCBitPacking()

LArBadChanSCBitPacking::LArBadChanSCBitPacking ( )

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

Definition at line 47 of file LArBadChanBitPacking.cxx.

48 {
49  // Here, specify each problem and its gain dependence.
70  for (unsigned int i=0; i<m_enumVec.size(); i++) {
71  m_nameMap[m_nameVec[i]] = m_enumVec[i].first;
74  m_bitPos[m_enumVec[i].first] = m_enumVec[i].first;
75 
76  m_index[m_enumVec[i].first] = i;
77  }
78 
79  initMasks(); // initialize the gain masks
80 }

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::LArBadChannelSCEnum::lowNoiseBit
@ lowNoiseBit
Definition: LArBadChannel.h:56
LArBadChannel::LArBadChannelSCEnum::DeformedTailBit
@ DeformedTailBit
Definition: LArBadChannel.h:60
LArBadChannel::LArBadChannelSCEnum::OffAmplitudeBit
@ OffAmplitudeBit
Definition: LArBadChannel.h:66
keylayer_zslicemap.pb
pb
Definition: keylayer_zslicemap.py:188
LArBadChannel::LArBadChannelSCEnum::deadPhysBit
@ deadPhysBit
Definition: LArBadChannel.h:55
LArBadChannel::LArBadChannelSCEnum::sporadicBurstNoiseBit
@ sporadicBurstNoiseBit
Definition: LArBadChannel.h:59
LArBadChannel::LArBadChannelSCEnum::reflaggedByLADIeSBit
@ reflaggedByLADIeSBit
Definition: LArBadChannel.h:71
TLArBadChanBitPackingBase::high
@ high
Definition: LArBadChanBitPackingBase.h:51
TLArBadChanBitPackingBase::independent
@ independent
Definition: LArBadChanBitPackingBase.h:51
TLArBadChanBitPackingBase::addBit
void addBit(typename T::ProblemType pb, const std::string &name, GainDependence gaindep)
LArBadChannel::LArBadChannelSCEnum::SCAProblemBit
@ SCAProblemBit
Definition: LArBadChannel.h:64
LArBadChannel::PosType
unsigned int PosType
Definition: LArBadChannel.h:12
LArBadChannel::LArBadChannelSCEnum::maskedOSUMBit
@ maskedOSUMBit
Definition: LArBadChannel.h:52
LArBadChannel::LArBadChannelSCEnum::DeformedPulseBit
@ DeformedPulseBit
Definition: LArBadChannel.h:61
LArBadChannel::LArBadChannelSCEnum::ADCJumpBit
@ ADCJumpBit
Definition: LArBadChannel.h:63
LArBadChannel::LArBadChannelSCEnum::unflaggedByLADIeSBit
@ unflaggedByLADIeSBit
Definition: LArBadChannel.h:70
LArBadChanSCBitPackingBase
TLArBadChanBitPackingBase< LArBadChannel::LArBadChannelSCEnum > LArBadChanSCBitPackingBase
Definition: LArBadChanBitPacking.h:10
TLArBadChanBitPackingBase::m_mediumGainMask
LArBadChannel::BitWord m_mediumGainMask
Definition: LArBadChanBitPackingBase.h:62
TLArBadChanBitPackingBase::m_highGainMask
LArBadChannel::BitWord m_highGainMask
Definition: LArBadChanBitPackingBase.h:61
LArBadChannel::LArBadChannelSCEnum::highNoiseBit
@ highNoiseBit
Definition: LArBadChannel.h:57
TLArBadChanBitPackingBase::m_bitPos
PosContainer m_bitPos
Definition: LArBadChanBitPackingBase.h:53
LArBadChannel::LArBadChannelSCEnum::deadCalibBit
@ deadCalibBit
Definition: LArBadChannel.h:54
LArBadChannel::BitWord
unsigned int BitWord
Definition: LArBadChannel.h:13
LArBadChannel::LArBadChannelSCEnum::problematicForUnknownReasonBit
@ problematicForUnknownReasonBit
Definition: LArBadChannel.h:58
lumiFormat.i
int i
Definition: lumiFormat.py:92
LArBadChannel::LArBadChannelSCEnum::NonLinearRampBit
@ NonLinearRampBit
Definition: LArBadChannel.h:62
TLArBadChanBitPackingBase::initMasks
void initMasks()
LArBadChannel::LArBadChannelSCEnum::OffOFCsBit
@ OffOFCsBit
Definition: LArBadChannel.h:65
TLArBadChanBitPackingBase::m_enumVec
std::vector< std::pair< typename T::ProblemType, GainDependence > > m_enumVec
Definition: LArBadChanBitPackingBase.h:55
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
LArBadChannel::LArBadChannelSCEnum::lowLightFibreBit
@ lowLightFibreBit
Definition: LArBadChannel.h:68
TLArBadChanBitPackingBase::medium
@ medium
Definition: LArBadChanBitPackingBase.h:51
TLArBadChanBitPackingBase::m_nameMap
std::map< std::string, typename T::ProblemType > m_nameMap
Definition: LArBadChanBitPackingBase.h:58
LArBadChannel::LArBadChannelSCEnum::transmissionErrorFibreBit
@ transmissionErrorFibreBit
Definition: LArBadChannel.h:69
TLArBadChanBitPackingBase::m_lowGainMask
LArBadChannel::BitWord m_lowGainMask
Definition: LArBadChanBitPackingBase.h:63
LArBadChannel::LArBadChannelSCEnum::deadReadoutBit
@ deadReadoutBit
Definition: LArBadChannel.h:53
TLArBadChanBitPackingBase::low
@ low
Definition: LArBadChanBitPackingBase.h:51
LArBadChannel::LArBadChannelSCEnum::OffScaleBit
@ OffScaleBit
Definition: LArBadChannel.h:67