CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PixelDataFormatter.h
Go to the documentation of this file.
1 #ifndef PixelDataFormatter_H
2 #define PixelDataFormatter_H
3 
39 
40 #include <boost/cstdint.hpp>
41 #include <vector>
42 #include <map>
43 
44 class FEDRawData;
45 class SiPixelFedCabling;
46 class SiPixelQuality;
49 
51 
52 public:
53 
54  typedef std::map<int, FEDRawData> RawData;
55  typedef std::vector<PixelDigi> DetDigis;
56  typedef std::map<uint32_t, DetDigis> Digis;
57  typedef std::pair<DetDigis::const_iterator, DetDigis::const_iterator> Range;
58  typedef std::vector<SiPixelRawDataError> DetErrors;
59  typedef std::map<uint32_t, DetErrors> Errors;
60 
61  typedef uint32_t Word32;
62  typedef uint64_t Word64;
63 
65 
66  void setErrorStatus(bool ErrorStatus);
67  void setQualityStatus(bool QualityStatus, const SiPixelQuality* QualityInfo);
68  void passFrameReverter(const SiPixelFrameReverter* reverter);
69 
70  int nDigis() const { return theDigiCounter; }
71  int nWords() const { return theWordCounter; }
72 
73  void interpretRawData(bool& errorsInEvent, int fedId, const FEDRawData & data, Digis & digis, Errors & errors);
74 
75  void formatRawData( unsigned int lvl1_ID, RawData & fedRawData, const Digis & digis);
76 
77 private:
78  mutable int theDigiCounter;
79  mutable int theWordCounter;
80 
86  bool debug;
90 
91  int checkError(const Word32& data) const;
92 
93  int digi2word( uint32_t detId, const PixelDigi& digi,
94  std::map<int, std::vector<Word32> > & words) const;
95 
96  int word2digi( const int fedId,
97  const SiPixelFrameConverter* converter,
98  const bool includeError,
99  const bool useQuality,
100  const Word32& word,
101  Digis & digis) const;
102 
103  std::string print(const PixelDigi & digi) const;
104  std::string print(const Word64 & word) const;
105 
106  uint32_t errorDetId(const SiPixelFrameConverter* converter,
107  int fedId, int errorType, const Word32 & word) const;
108 
109 };
110 
111 #endif
int checkError(const Word32 &data) const
uint32_t errorDetId(const SiPixelFrameConverter *converter, int fedId, int errorType, const Word32 &word) const
int digi2word(uint32_t detId, const PixelDigi &digi, std::map< int, std::vector< Word32 > > &words) const
void passFrameReverter(const SiPixelFrameReverter *reverter)
std::map< uint32_t, DetErrors > Errors
void interpretRawData(bool &errorsInEvent, int fedId, const FEDRawData &data, Digis &digis, Errors &errors)
void setErrorStatus(bool ErrorStatus)
std::vector< SiPixelRawDataError > DetErrors
PixelDataFormatter(const SiPixelFedCabling *map)
std::string print(const PixelDigi &digi) const
void formatRawData(unsigned int lvl1_ID, RawData &fedRawData, const Digis &digis)
void setQualityStatus(bool QualityStatus, const SiPixelQuality *QualityInfo)
const SiPixelQuality * badPixelInfo
std::pair< DetDigis::const_iterator, DetDigis::const_iterator > Range
const SiPixelFrameReverter * theFrameReverter
unsigned long long uint64_t
Definition: Time.h:15
std::map< int, FEDRawData > RawData
std::vector< PixelDigi > DetDigis
std::map< uint32_t, DetDigis > Digis
int word2digi(const int fedId, const SiPixelFrameConverter *converter, const bool includeError, const bool useQuality, const Word32 &word, Digis &digis) const
const SiPixelFedCabling * theCablingTree