CMS 3D CMS Logo

FastFedCablingAnalysis.h
Go to the documentation of this file.
1 #ifndef CondFormats_SiStripObjects_FastFedCablingAnalysis_H
2 #define CondFormats_SiStripObjects_FastFedCablingAnalysis_H
3 
6 #include <sstream>
7 #include <vector>
8 #include <map>
9 #include <cstdint>
10 
17 public:
18  // ---------- con(de)structors and typedefs ----------
19 
20  FastFedCablingAnalysis(const uint32_t& key);
21 
23 
24  ~FastFedCablingAnalysis() override { ; }
25 
26  typedef std::map<uint32_t, uint16_t> Candidates;
27 
29 
30  // ---------- public interface ----------
31 
33  bool isValid() const override;
34 
36  bool isDirty() const;
37 
39  bool badTrimDac() const;
40 
42  inline const uint32_t& dcuHardId() const;
43 
45  inline const uint16_t& lldCh() const;
46 
48  inline const float& highLevel() const;
49 
51  inline const float& highRms() const;
52 
54  inline const float& lowLevel() const;
55 
57  inline const float& lowRms() const;
58 
60  inline const float& max() const;
61 
63  inline const float& min() const;
64 
65  // ---------- misc ----------
66 
68  void print(std::stringstream&, uint32_t not_used = 0) override;
69 
71  void header(std::stringstream&) const override;
72 
74  void summary(std::stringstream&) const override;
75 
77  void reset() override;
78 
79  // ---------- public static data ----------
80 
81 public:
83  static const float threshold_;
84 
86  static const float dirtyThreshold_;
87 
89  static const float trimDacThreshold_;
90 
92  static const uint16_t nBitsForDcuId_;
93 
95  static const uint16_t nBitsForLldCh_;
96 
97  // ---------- private member data ----------
98 
99 private:
101  uint32_t dcuHardId_;
102 
104  uint16_t lldCh_;
105 
107  float highMedian_;
108 
110  float highMean_;
111 
113  float highRms_;
114 
116  float lowMedian_;
117 
119  float lowMean_;
120 
122  float lowRms_;
123 
125  float range_;
126 
128  float midRange_;
129 
131  float max_;
132 
134  float min_;
135 };
136 
137 // ---------- Inline methods ----------
138 
139 const uint32_t& FastFedCablingAnalysis::dcuHardId() const { return dcuHardId_; }
140 const uint16_t& FastFedCablingAnalysis::lldCh() const { return lldCh_; }
141 const float& FastFedCablingAnalysis::highLevel() const { return highMean_; }
142 const float& FastFedCablingAnalysis::highRms() const { return highRms_; }
143 const float& FastFedCablingAnalysis::lowLevel() const { return lowMean_; }
144 const float& FastFedCablingAnalysis::lowRms() const { return lowRms_; }
145 const float& FastFedCablingAnalysis::max() const { return max_; }
146 const float& FastFedCablingAnalysis::min() const { return min_; }
147 
148 #endif // CondFormats_SiStripObjects_FastFedCablingAnalysis_H
const uint16_t & lldCh() const
void print(std::stringstream &, uint32_t not_used=0) override
const float & max() const
static const float dirtyThreshold_
const float & lowLevel() const
static const uint16_t nBitsForDcuId_
const uint32_t & dcuHardId() const
void header(std::stringstream &) const override
std::map< uint32_t, uint16_t > Candidates
Histogram-based analysis for connection loop.
bool isValid() const override
Histogram-based analysis for connection loop.
const float & highLevel() const
const float & lowRms() const
void summary(std::stringstream &) const override
Abstract base for derived classes that provide analysis of commissioning histograms.
const float & highRms() const
static const float trimDacThreshold_
const float & min() const
static const float threshold_
static const uint16_t nBitsForLldCh_