CMS 3D CMS Logo

HcalMappingEntry.h
Go to the documentation of this file.
1 #ifndef HcalMappingEntry_h
2 #define HcalMappingEntry_h
3 
11 
12 /*****************************Classes****************************/
13 
15  /****
16  * Class to hold the L-Map entries corresponding to HB, HE and HF
17  ****/
18 
19 public:
20  // constructor from map information
22  HBHEHFLogicalMapEntry(int in_fi_ch,
23  int in_htr_fi,
24  int in_spig,
25  int in_fed,
26  int in_cr,
27  int in_htr,
28  std::string in_s_fpga,
29  std::string in_s_det,
30  int in_sid,
31  int in_et,
32  int in_ph,
33  int in_dep,
34  int in_dph,
35  int in_wed,
36  int in_rm,
37  int in_rm_fi,
38  int in_pix,
39  int in_qie,
40  int in_adc,
41  int in_slb,
42  int in_rctcra,
43  int in_rctcar,
44  int in_rctcon,
45  std::string in_s_rbx,
46  std::string in_s_slb,
47  std::string in_s_slb2,
48  std::string in_s_slnam,
49  std::string in_s_rctnam);
50 
52 
53  char* printLMapLine();
54  uint32_t getLinearIndex() const { return HcalElectronicsId(hcalEID_).linearIndex(); }
56  const DetId getDetId() const { return DetId(hcalDetID_); }
58 
59 private:
60  uint32_t hcalEID_;
61  uint32_t hcalDetID_;
62  uint32_t hcalFrontEndID_;
63 
64  // stored input data members
66 
68 };
69 
71  /****
72  * Class to hold the L-Map entries corresponding to HO and HX
73  ****/
74 
75 public:
77  HOHXLogicalMapEntry(int in_fi_ch,
78  int in_htr_fi,
79  int in_spig,
80  int in_fed,
81  int in_cr,
82  int in_htr,
83  std::string in_s_fpga,
84  std::string in_s_det,
85  int in_sid,
86  int in_et,
87  int in_ph,
88  int in_dep,
89  int in_dph,
90  int in_sec,
91  int in_rm,
92  int in_rm_fi,
93  int in_pix,
94  int in_qie,
95  int in_adc,
96  std::string in_s_rbx,
97  std::string in_s_let);
98 
100 
101  char* printLMapLine();
102  const uint32_t getLinearIndex() const { return HcalElectronicsId(hcalEID_).linearIndex(); }
104  const DetId getDetId() const { return DetId(hcalDetID_); }
106 
107 private:
108  uint32_t hcalEID_;
109  uint32_t hcalDetID_;
110  uint32_t hcalFrontEndID_;
111 
112  // stored input data members
115 };
116 
118  /****
119  * Class to hold the L-Map entries corresponding to the calibration channels
120  ****/
121 
122 public:
124  CALIBLogicalMapEntry(int in_fi_ch,
125  int in_htr_fi,
126  int in_spig,
127  int in_fed,
128  int in_cr,
129  int in_htr,
130  std::string in_s_fpga,
131  std::string in_s_det,
132  int in_et,
133  int in_ph,
134  int in_ch_ty,
135  int in_sid,
136  int in_dph,
137  std::string in_s_rbx,
138  int in_wed,
139  int in_rm_fi,
140  std::string in_s_subdet);
141 
143 
144  char* printLMapLine();
145  const uint32_t getLinearIndex() const { return HcalElectronicsId(hcalEID_).linearIndex(); }
147  const DetId getDetId() const { return DetId(hcalCalibDetID_); }
149 
150 private:
151  uint32_t hcalEID_;
152  uint32_t hcalCalibDetID_;
153  uint32_t hcalFrontEndID_;
154 
155  // input data members
156  int myside_, mydphi_, mywedge_;
158 };
159 
161  /****
162  * Class to hold the L-Map entries corresponding to ZDC
163  ****/
164 
165 public:
167  ZDCLogicalMapEntry(int in_fi_ch,
168  int in_htr_fi,
169  int in_spigot,
170  int in_fed,
171  int in_cr,
172  int in_htr,
173  std::string in_s_fpga,
174  std::string in_s_det,
175  int in_sid,
176  int in_dep,
177  int in_x,
178  int in_y,
179  int in_dx,
180  int in_det_ch,
181  int in_cab,
182  int in_rm,
183  int in_qie,
184  int in_adc,
185  int in_rm_fi);
186 
188 
189  char* printLMapLine();
190  const uint32_t getLinearIndex() const { return HcalElectronicsId(hcalEID_).linearIndex(); }
192  const DetId getDetId() const { return DetId(hcalZDCDetID_); }
193 
194 private:
195  uint32_t hcalEID_;
196  uint32_t hcalZDCDetID_;
197 
198  // input data members
199  int myx_, myy_, mydx_, mydet_ch_, mycable_, myrm_, myqie_, myadc_, myrm_fi_;
200 };
201 
203  /****
204  * Class to hold the L-Map entries corresponding to the Trigger channels
205  ****/
206 
207 public:
209  HTLogicalMapEntry(int in_et,
210  int in_ph,
211  int in_sid,
212  int in_dph,
213  int in_dep,
214  std::string in_s_chDet,
215  int in_wed,
216  int in_cr,
217  int in_htr,
218  int in_tb,
219  int in_spig,
220  int in_slb,
221  std::string in_s_slb,
222  std::string in_s_slb2,
223  int in_ndat,
224  std::string in_s_slnam,
225  int in_rctcra,
226  int in_rctcar,
227  int in_rctcon,
228  std::string in_s_rctnam,
229  int in_fed);
230 
232 
233  char* printLMapLine();
234  const uint32_t getLinearIndex() const { return HcalElectronicsId(hcalTrigEID_).linearIndex(); }
235  const HcalElectronicsId getHcalTrigElectronicsId() const { return HcalElectronicsId(hcalTrigEID_); }
236  const DetId getDetId() const { return DetId(hcalTrigDetID_); }
237 
238 private:
239  // no meaningful electronics id for the trigger towers, but it is possible to create one that stores various data members
240  uint32_t hcalTrigEID_;
241  uint32_t hcalTrigDetID_;
242 
243  // input data members
244  int myside_, mydphi_, mydepth_, mywedge_;
245  //int myspigot_, myslb_, myndat_, mycrate_, myhtr_, mytb_, myfedid_;
247  // string data members
249 };
250 
251 /***************/
252 
253 #endif
const HcalFrontEndId getHcalFrontEndId() const
const HcalFrontEndId getHcalFrontEndId() const
const DetId getDetId() const
const uint32_t getLinearIndex() const
uint32_t getLinearIndex() const
const DetId getDetId() const
constexpr int linearIndex() const
get a fast, compact, unique index for linear lookups
const HcalElectronicsId getHcalElectronicsId() const
const HcalFrontEndId getHcalFrontEndId() const
const DetId getDetId() const
const HcalElectronicsId getHcalTrigElectronicsId() const
const HcalElectronicsId getHcalElectronicsId() const
const uint32_t getLinearIndex() const
Definition: DetId.h:17
const uint32_t getLinearIndex() const
const DetId getDetId() const
const HcalElectronicsId getHcalElectronicsId() const
const uint32_t getLinearIndex() const
const HcalElectronicsId getHcalElectronicsId() const
const DetId getDetId() const
Readout chain identification for Hcal.