ATLAS Offline Software
TileBchDecoder.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TILECALIBBLOBOBJS_TILEBCHDECODER_H
6 #define TILECALIBBLOBOBJS_TILEBCHDECODER_H
7 
26 #include <stdint.h>
27 #include <vector>
28 #include <set>
29 #include <map>
30 #include <string>
31 #include <iostream>
35 
37 {
38  public:
39 
40  enum BitPatVer{
44  };
45 
47  TileBchDecoder(BitPatVer bitPatVer);
48 
50  void printBitAssignment() const { printBitAssignment(std::cout); }
53  void printBitAssignment(std::ostream& stm) const;
54 
56  TileBchStatus decode(uint32_t status_channel, uint32_t status_adc=0) const;
57 
60  { return decode(words[0],words[1]); }
61 
69 
70  private:
71 
73  void init_BitPat_ofl01();
75  void init_BitPat_onl01();
76 
77 
79  void initPrbToBit();
80 
82  std::vector<TileBchPrbs::Prb> m_bitToPrbChn;
84  std::vector<TileBchPrbs::Prb> m_bitToPrbAdc;
88  std::map<TileBchPrbs::Prb, std::pair<unsigned int,unsigned int> > m_prbToBit;
89 };
90 
91 #endif
TileBchDecoder::decode
TileBchStatus decode(uint32_t status_channel, uint32_t status_adc=0) const
Decode the status word.
Definition: TileBchDecoder.cxx:22
TileBchDecoder::initPrbToBit
void initPrbToBit()
Initializes the problem to bit map.
Definition: TileBchDecoder.cxx:145
TileBchDecoder
Class providing the association between TileCal problems and status word bits.
Definition: TileBchDecoder.h:37
TileBchDecoder::m_bitToPrbAdc
std::vector< TileBchPrbs::Prb > m_bitToPrbAdc
Bit to problem association for the ADC word.
Definition: TileBchDecoder.h:84
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
TileBchDecoder::TileBchDecoder
TileBchDecoder(BitPatVer bitPatVer)
Ctor.
Definition: TileBchDecoder.cxx:10
TileBchStatus
Class holding bad channel problems.
Definition: TileBchStatus.h:20
TileBchWords.h
TileBchDecoder::encode
TileBchWords encode(const TileBchStatus &status) const
Encode an ADC status into channel and adc status word bits.
Definition: TileBchDecoder.cxx:40
TileBchDecoder::decode
TileBchStatus decode(const TileBchWords &words) const
Decode the status word.
Definition: TileBchDecoder.h:59
TileBchDecoder::m_prbToBit
std::map< TileBchPrbs::Prb, std::pair< unsigned int, unsigned int > > m_prbToBit
Problem to status word and bit association.
Definition: TileBchDecoder.h:88
TileBchDecoder::BitPat_ofl01
@ BitPat_ofl01
Definition: TileBchDecoder.h:41
TileBchDecoder::printBitAssignment
void printBitAssignment() const
Print status bits and their assigned problem.
Definition: TileBchDecoder.h:50
TileBchDecoder::m_bitToPrbChn
std::vector< TileBchPrbs::Prb > m_bitToPrbChn
Bit to problem association for the channel word.
Definition: TileBchDecoder.h:82
TileBchStatus.h
TileBchDecoder::BitPatVer
BitPatVer
Definition: TileBchDecoder.h:40
TileBchDecoder::init_BitPat_onl01
void init_BitPat_onl01()
Initializes bit pattern version "ofl01".
Definition: TileBchDecoder.cxx:116
TileBchDecoder::init_BitPat_ofl01
void init_BitPat_ofl01()
Initializes bit pattern version "ofl01".
Definition: TileBchDecoder.cxx:61
TileBchPrbs.h
TileBchWords
Definition: TileBchWords.h:12
merge.status
status
Definition: merge.py:17
checkFileSG.words
words
Definition: checkFileSG.py:76
TileBchDecoder::MaxVersion
@ MaxVersion
Definition: TileBchDecoder.h:43
TileBchDecoder::BitPat_onl01
@ BitPat_onl01
Definition: TileBchDecoder.h:42