CMS 3D CMS Logo

layer1_objs.h
Go to the documentation of this file.
1 #ifndef DataFormats_L1TParticleFlow_layer1_objs_h
2 #define DataFormats_L1TParticleFlow_layer1_objs_h
3 
6 
7 namespace l1ct {
8 
9  struct HadCaloObj {
11  eta_t hwEta; // relative to the region center, at calo
12  phi_t hwPhi; // relative to the region center, at calo
18 
19  inline bool operator==(const HadCaloObj &other) const {
20  return hwPt == other.hwPt && hwEta == other.hwEta && hwPhi == other.hwPhi && hwEmPt == other.hwEmPt &&
21  hwEmID == other.hwEmID && hwSrrTot == other.hwSrrTot && hwMeanZ == other.hwMeanZ && hwHoe == other.hwHoe;
22  }
23 
24  inline bool operator>(const HadCaloObj &other) const { return hwPt > other.hwPt; }
25  inline bool operator<(const HadCaloObj &other) const { return hwPt < other.hwPt; }
26 
27  inline void clear() {
28  hwPt = 0;
29  hwEta = 0;
30  hwPhi = 0;
31  hwEmPt = 0;
32  hwEmID = 0;
33  hwSrrTot = 0;
34  hwMeanZ = 0;
35  hwHoe = 0;
36  }
37 
38  int intPt() const { return Scales::intPt(hwPt); }
39  int intEmPt() const { return Scales::intPt(hwEmPt); }
40  int intEta() const { return hwEta.to_int(); }
41  int intPhi() const { return hwPhi.to_int(); }
42  float floatPt() const { return Scales::floatPt(hwPt); }
43  float floatEmPt() const { return Scales::floatPt(hwEmPt); }
44  float floatEta() const { return Scales::floatEta(hwEta); }
45  float floatPhi() const { return Scales::floatPhi(hwPhi); }
46  float floatSrrTot() const { return Scales::floatSrrTot(hwSrrTot); };
47  float floatMeanZ() const { return Scales::floatMeanZ(hwMeanZ); };
48  float floatHoe() const { return Scales::floatHoe(hwHoe); };
49 
50  bool hwIsEM() const { return hwEmID != 0; }
51 
53 
55 
56  inline ap_uint<BITWIDTH> pack() const {
57  ap_uint<BITWIDTH> ret;
58  unsigned int start = 0;
67  return ret;
68  }
69 
70  inline static HadCaloObj unpack(const ap_uint<BITWIDTH> &src) {
72  unsigned int start = 0;
73  unpack_from_bits(src, start, ret.hwPt);
74  unpack_from_bits(src, start, ret.hwEta);
75  unpack_from_bits(src, start, ret.hwPhi);
76  unpack_from_bits(src, start, ret.hwEmPt);
77  unpack_from_bits(src, start, ret.hwEmID);
78  unpack_from_bits(src, start, ret.hwSrrTot);
79  unpack_from_bits(src, start, ret.hwMeanZ);
80  unpack_from_bits(src, start, ret.hwHoe);
81  return ret;
82  }
83 
84  inline ap_uint<BITWIDTH_SLIM> pack_slim() const { return pack()(BITWIDTH_SLIM - 1, 0); }
85  };
86 
87  inline void clear(HadCaloObj &c) { c.clear(); }
88 
89  struct EmCaloObj {
91  eta_t hwEta; // relative to the region center, at calo
92  phi_t hwPhi; // relative to the region center, at calo
97 
98  inline bool operator==(const EmCaloObj &other) const {
99  return hwPt == other.hwPt && hwEta == other.hwEta && hwPhi == other.hwPhi && hwPtErr == other.hwPtErr &&
100  hwEmID == other.hwEmID && hwSrrTot == other.hwSrrTot && hwMeanZ == other.hwMeanZ && hwHoe == other.hwHoe;
101  }
102 
103  inline bool operator>(const EmCaloObj &other) const { return hwPt > other.hwPt; }
104  inline bool operator<(const EmCaloObj &other) const { return hwPt < other.hwPt; }
105 
106  inline void clear() {
107  hwPt = 0;
108  hwPtErr = 0;
109  hwEta = 0;
110  hwPhi = 0;
111  hwEmID = 0;
112  hwSrrTot = 0;
113  hwMeanZ = 0;
114  hwHoe = 0;
115  }
116 
117  int intPt() const { return Scales::intPt(hwPt); }
118  int intPtErr() const { return Scales::intPt(hwPtErr); }
119  int intEta() const { return hwEta.to_int(); }
120  int intPhi() const { return hwPhi.to_int(); }
121  float floatPt() const { return Scales::floatPt(hwPt); }
122  float floatPtErr() const { return Scales::floatPt(hwPtErr); }
123  float floatEta() const { return Scales::floatEta(hwEta); }
124  float floatPhi() const { return Scales::floatPhi(hwPhi); }
125  float floatSrrTot() const { return Scales::floatSrrTot(hwSrrTot); };
126  float floatMeanZ() const { return Scales::floatMeanZ(hwMeanZ); };
127  float floatHoe() const { return Scales::floatHoe(hwHoe); };
128 
130 
132 
133  inline ap_uint<BITWIDTH> pack() const {
134  ap_uint<BITWIDTH> ret;
135  unsigned int start = 0;
144  return ret;
145  }
146  inline static EmCaloObj unpack(const ap_uint<BITWIDTH> &src) {
147  EmCaloObj ret;
148  unsigned int start = 0;
149  unpack_from_bits(src, start, ret.hwPt);
150  unpack_from_bits(src, start, ret.hwEta);
151  unpack_from_bits(src, start, ret.hwPhi);
152  unpack_from_bits(src, start, ret.hwPtErr);
153  unpack_from_bits(src, start, ret.hwEmID);
154  unpack_from_bits(src, start, ret.hwSrrTot);
155  unpack_from_bits(src, start, ret.hwMeanZ);
156  unpack_from_bits(src, start, ret.hwHoe);
157 
158  return ret;
159  }
160 
161  inline ap_uint<BITWIDTH_SLIM> pack_slim() const { return pack()(BITWIDTH_SLIM - 1, 0); }
162  };
163  inline void clear(EmCaloObj &c) { c.clear(); }
164 
165  struct TkObj {
167  eta_t hwEta; // relative to the region center, at calo
168  phi_t hwPhi; // relative to the region center, at calo
169  tkdeta_t hwDEta; // vtx - calo
170  tkdphi_t hwDPhi; // |vtx - calo| (sign is derived by the charge)
171  bool hwCharge; // 1 = positive, 0 = negative
178  //FIXME: 3 bits would be enough
180 
181  enum TkQuality { PFLOOSE = 1, PFTIGHT = 2 };
182  bool isPFLoose() const { return hwQuality[0]; }
183  bool isPFTight() const { return hwQuality[1]; }
184  phi_t hwVtxPhi() const { return hwCharge ? hwPhi + hwDPhi : hwPhi - hwDPhi; }
185  eta_t hwVtxEta() const { return hwEta + hwDEta; }
186 
187  inline bool operator==(const TkObj &other) const {
188  return hwPt == other.hwPt && hwEta == other.hwEta && hwPhi == other.hwPhi && hwDEta == other.hwDEta &&
189  hwDPhi == other.hwDPhi && hwZ0 == other.hwZ0 && hwDxy == other.hwDxy && hwCharge == other.hwCharge &&
190  hwQuality == other.hwQuality && hwStubs == other.hwStubs && hwRedChi2RZ == other.hwRedChi2RZ &&
191  hwRedChi2RPhi == other.hwRedChi2RPhi && hwRedChi2Bend == other.hwRedChi2Bend;
192  }
193 
194  inline bool operator>(const TkObj &other) const { return hwPt > other.hwPt; }
195  inline bool operator<(const TkObj &other) const { return hwPt < other.hwPt; }
196 
197  inline void clear() {
198  hwPt = 0;
199  hwEta = 0;
200  hwPhi = 0;
201  hwDEta = 0;
202  hwDPhi = 0;
203  hwZ0 = 0;
204  hwDxy = 0;
205  hwCharge = false;
206  hwQuality = 0;
207  hwStubs = 0;
208  hwRedChi2RZ = 0;
209  hwRedChi2RPhi = 0;
210  hwRedChi2Bend = 0;
211  }
212 
213  int intPt() const { return Scales::intPt(hwPt); }
214  int intEta() const { return hwEta.to_int(); }
215  int intPhi() const { return hwPhi.to_int(); }
216  int intVtxEta() const { return hwVtxEta().to_int(); }
217  int intVtxPhi() const { return hwVtxPhi().to_int(); }
218  int intCharge() const { return hwCharge ? +1 : -1; }
219  float floatPt() const { return Scales::floatPt(hwPt); }
220  float floatEta() const { return Scales::floatEta(hwEta); }
221  float floatPhi() const { return Scales::floatPhi(hwPhi); }
222  float floatDEta() const { return Scales::floatEta(hwDEta); }
223  float floatDPhi() const { return Scales::floatPhi(hwDPhi); }
224  float floatVtxEta() const { return Scales::floatEta(hwVtxEta()); }
225  float floatVtxPhi() const { return Scales::floatPhi(hwVtxPhi()); }
226  float floatZ0() const { return Scales::floatZ0(hwZ0); }
227  float floatDxy() const { return Scales::floatDxy(hwDxy); }
228 
231 
232  static const int BITWIDTH =
234 
235  inline ap_uint<BITWIDTH> pack() const {
236  ap_uint<BITWIDTH> ret;
237  unsigned int start = 0;
251  return ret;
252  }
253  inline static TkObj unpack(const ap_uint<BITWIDTH> &src) {
254  TkObj ret;
255  unsigned int start = 0;
256  unpack_from_bits(src, start, ret.hwPt);
257  unpack_from_bits(src, start, ret.hwEta);
258  unpack_from_bits(src, start, ret.hwPhi);
259  unpack_from_bits(src, start, ret.hwDEta);
260  unpack_from_bits(src, start, ret.hwDPhi);
261  unpack_bool_from_bits(src, start, ret.hwCharge);
262  unpack_from_bits(src, start, ret.hwZ0);
263  unpack_from_bits(src, start, ret.hwDxy);
264  unpack_from_bits(src, start, ret.hwQuality);
265  unpack_from_bits(src, start, ret.hwStubs);
266  unpack_from_bits(src, start, ret.hwRedChi2RZ);
267  unpack_from_bits(src, start, ret.hwRedChi2RPhi);
268  unpack_from_bits(src, start, ret.hwRedChi2Bend);
269  return ret;
270  }
271  inline ap_uint<BITWIDTH_SLIM> pack_slim() const { return pack()(BITWIDTH_SLIM - 1, 0); }
272  };
273  inline void clear(TkObj &c) { c.clear(); }
274 
275  struct MuObj {
277  glbeta_t hwEta; // relative to the region center, at calo
278  glbphi_t hwPhi; // relative to the region center, at calo
279  tkdeta_t hwDEta; // vtx - calo
280  tkdphi_t hwDPhi; // |vtx - calo| (sign is derived by the charge)
281  bool hwCharge; // 1 = positive, 0 = negative
284  ap_uint<3> hwQuality;
285  glbphi_t hwVtxPhi() const { return hwCharge ? hwPhi + hwDPhi : hwPhi - hwDPhi; }
286  glbeta_t hwVtxEta() const { return hwEta + hwDEta; }
287 
288  inline bool operator==(const MuObj &other) const {
289  return hwPt == other.hwPt && hwEta == other.hwEta && hwPhi == other.hwPhi && hwDEta == other.hwDEta &&
290  hwDPhi == other.hwDPhi && hwZ0 == other.hwZ0 && hwDxy == other.hwDxy && hwCharge == other.hwCharge &&
291  hwQuality == other.hwQuality;
292  }
293 
294  inline bool operator>(const MuObj &other) const { return hwPt > other.hwPt; }
295  inline bool operator<(const MuObj &other) const { return hwPt < other.hwPt; }
296 
297  inline void clear() {
298  hwPt = 0;
299  hwEta = 0;
300  hwPhi = 0;
301  hwDEta = 0;
302  hwDPhi = 0;
303  hwZ0 = 0;
304  hwDxy = 0;
305  hwCharge = false;
306  hwQuality = 0;
307  }
308 
309  int intPt() const { return Scales::intPt(hwPt); }
310  int intEta() const { return hwEta.to_int(); }
311  int intPhi() const { return hwPhi.to_int(); }
312  int intVtxEta() const { return hwVtxEta().to_int(); }
313  int intVtxPhi() const { return hwVtxPhi().to_int(); }
314  int intCharge() const { return hwCharge ? +1 : -1; }
315  float floatPt() const { return Scales::floatPt(hwPt); }
316  float floatEta() const { return Scales::floatEta(hwEta); }
317  float floatPhi() const { return Scales::floatPhi(hwPhi); }
318  float floatDEta() const { return Scales::floatEta(hwDEta); }
319  float floatDPhi() const { return Scales::floatPhi(hwDPhi); }
320  float floatVtxEta() const { return Scales::floatEta(hwVtxEta()); }
321  float floatVtxPhi() const { return Scales::floatPhi(hwVtxPhi()); }
322  float floatZ0() const { return Scales::floatZ0(hwZ0); }
323  float floatDxy() const { return Scales::floatDxy(hwDxy); }
324 
327  inline ap_uint<BITWIDTH> pack() const {
328  ap_uint<BITWIDTH> ret;
329  unsigned int start = 0;
339  return ret;
340  }
341  inline static MuObj unpack(const ap_uint<BITWIDTH> &src) {
342  MuObj ret;
343  unsigned int start = 0;
344  unpack_from_bits(src, start, ret.hwPt);
345  unpack_from_bits(src, start, ret.hwEta);
346  unpack_from_bits(src, start, ret.hwPhi);
347  unpack_from_bits(src, start, ret.hwDEta);
348  unpack_from_bits(src, start, ret.hwDPhi);
349  unpack_bool_from_bits(src, start, ret.hwCharge);
350  unpack_from_bits(src, start, ret.hwZ0);
351  unpack_from_bits(src, start, ret.hwDxy);
352  unpack_from_bits(src, start, ret.hwQuality);
353  return ret;
354  }
355  };
356  inline void clear(MuObj &c) { c.clear(); }
357 
358  struct PVObj {
360 
361  inline bool operator==(const PVObj &other) const { return hwZ0 == other.hwZ0; }
362 
363  inline void clear() { hwZ0 = 0; }
364 
365  float floatZ0() const { return Scales::floatZ0(hwZ0); }
366 
367  static const int BITWIDTH = z0_t::width;
368  inline ap_uint<BITWIDTH> pack() const {
369  ap_uint<BITWIDTH> ret;
370  unsigned int start = 0;
372  return ret;
373  }
374  inline static PVObj unpack(const ap_uint<BITWIDTH> &src) {
375  PVObj ret;
376  unsigned int start = 0;
377  unpack_from_bits(src, start, ret.hwZ0);
378  return ret;
379  }
380  };
381  inline void clear(PVObj &c) { c.clear(); }
382 
383 } // namespace l1ct
384 
385 #endif
Definition: start.py:1
ap_uint< BITWIDTH_SLIM > pack_slim() const
Definition: layer1_objs.h:161
int intCharge() const
Definition: layer1_objs.h:314
static PVObj unpack(const ap_uint< BITWIDTH > &src)
Definition: layer1_objs.h:374
ap_uint< 3 > tkquality_t
Definition: datatypes.h:23
srrtot_t hwSrrTot
Definition: layer1_objs.h:94
float floatSrrTot(srrtot_t srrtot)
Definition: datatypes.h:175
tkquality_t hwQuality
Definition: layer1_objs.h:174
float floatEta() const
Definition: layer1_objs.h:316
bool operator<(const HadCaloObj &other) const
Definition: layer1_objs.h:25
float floatZ0(z0_t z0)
Definition: datatypes.h:171
float floatZ0() const
Definition: layer1_objs.h:322
float floatZ0() const
Definition: layer1_objs.h:365
float floatPhi() const
Definition: layer1_objs.h:45
int intEta() const
Definition: layer1_objs.h:214
float floatPt() const
Definition: layer1_objs.h:219
bool operator<(const EmCaloObj &other) const
Definition: layer1_objs.h:104
ap_uint< 8 > meanz_t
Definition: datatypes.h:33
ap_uint< BITWIDTH_SLIM > pack_slim() const
Definition: layer1_objs.h:84
bool operator==(const EmCaloObj &other) const
Definition: layer1_objs.h:98
ap_uint< BITWIDTH > pack() const
Definition: layer1_objs.h:235
float floatMeanZ() const
Definition: layer1_objs.h:47
bool operator>(const TkObj &other) const
Definition: layer1_objs.h:194
ret
prodAgent to be discontinued
ap_int< 10 > phi_t
Definition: datatypes.h:15
float floatPt() const
Definition: layer1_objs.h:42
float floatDxy() const
Definition: layer1_objs.h:323
bool operator==(const MuObj &other) const
Definition: layer1_objs.h:288
redChi2Bin_t hwRedChi2RZ
Definition: layer1_objs.h:176
bool operator>(const HadCaloObj &other) const
Definition: layer1_objs.h:24
static HadCaloObj unpack(const ap_uint< BITWIDTH > &src)
Definition: layer1_objs.h:70
float floatHoe() const
Definition: layer1_objs.h:127
tkdphi_t hwDPhi
Definition: layer1_objs.h:280
stub_t hwStubs
Definition: layer1_objs.h:175
int intPhi() const
Definition: layer1_objs.h:215
phi_t hwVtxPhi() const
Definition: layer1_objs.h:184
float floatEta() const
Definition: layer1_objs.h:220
void clear()
Definition: layer1_objs.h:197
meanz_t hwMeanZ
Definition: layer1_objs.h:95
void unpack_bool_from_bits(const U &u, unsigned int &start, bool &data)
Definition: bit_encoding.h:27
int intVtxPhi() const
Definition: layer1_objs.h:313
static const int BITWIDTH
Definition: layer1_objs.h:131
int intPhi() const
Definition: layer1_objs.h:120
redChi2Bin_t hwRedChi2Bend
Definition: layer1_objs.h:179
float floatVtxPhi() const
Definition: layer1_objs.h:321
int intEta() const
Definition: layer1_objs.h:40
float floatDPhi() const
Definition: layer1_objs.h:223
ap_ufixed< 10, 1, AP_TRN, AP_SAT > srrtot_t
Definition: datatypes.h:32
ap_uint< 6 > emid_t
Definition: datatypes.h:25
bool operator>(const MuObj &other) const
Definition: layer1_objs.h:294
int intVtxPhi() const
Definition: layer1_objs.h:217
int intVtxEta() const
Definition: layer1_objs.h:216
glbphi_t hwVtxPhi() const
Definition: layer1_objs.h:285
float floatPtErr() const
Definition: layer1_objs.h:122
ap_uint< 3 > stub_t
Definition: datatypes.h:31
static const int BITWIDTH
Definition: layer1_objs.h:54
ap_int< 11 > glbphi_t
Definition: datatypes.h:19
float floatMeanZ() const
Definition: layer1_objs.h:126
bool operator==(const TkObj &other) const
Definition: layer1_objs.h:187
ap_uint< 4 > redChi2Bin_t
Definition: datatypes.h:35
static const int BITWIDTH_SLIM
Definition: layer1_objs.h:52
ap_int< 10 > eta_t
Definition: datatypes.h:14
bool operator<(const TkObj &other) const
Definition: layer1_objs.h:195
float floatEta(eta_t eta)
Definition: datatypes.h:165
ap_int< 6 > tkdeta_t
Definition: datatypes.h:16
ap_uint< BITWIDTH > pack() const
Definition: layer1_objs.h:327
float floatDxy(dxy_t dxy)
Definition: datatypes.h:172
static MuObj unpack(const ap_uint< BITWIDTH > &src)
Definition: layer1_objs.h:341
int intCharge() const
Definition: layer1_objs.h:218
void pack_into_bits(U &u, unsigned int &start, const T &data)
Definition: bit_encoding.h:8
void clear()
Definition: layer1_objs.h:363
int intEta() const
Definition: layer1_objs.h:310
bool isPFTight() const
Definition: layer1_objs.h:183
float floatPt(pt_t pt)
Definition: datatypes.h:154
int intPt() const
Definition: layer1_objs.h:213
float floatZ0() const
Definition: layer1_objs.h:226
ap_uint< BITWIDTH_SLIM > pack_slim() const
Definition: layer1_objs.h:271
float floatVtxEta() const
Definition: layer1_objs.h:224
float floatMeanZ(meanz_t meanz)
Definition: datatypes.h:176
float floatHoe(hoe_t hoe)
Definition: datatypes.h:177
float floatDxy() const
Definition: layer1_objs.h:227
int intPhi() const
Definition: layer1_objs.h:311
float floatPhi() const
Definition: layer1_objs.h:124
int intVtxEta() const
Definition: layer1_objs.h:312
bool operator==(const PVObj &other) const
Definition: layer1_objs.h:361
float floatPhi() const
Definition: layer1_objs.h:221
ap_uint< 3 > hwQuality
Definition: layer1_objs.h:284
float floatSrrTot() const
Definition: layer1_objs.h:46
ap_int< 10 > z0_t
Definition: datatypes.h:21
static const int BITWIDTH
Definition: layer1_objs.h:325
void clear()
Definition: layer1_objs.h:297
bool isPFLoose() const
Definition: layer1_objs.h:182
static const int BITWIDTH_SLIM
Definition: layer1_objs.h:129
int intPt(pt_t pt)
Definition: datatypes.h:157
ap_uint< BITWIDTH > pack() const
Definition: layer1_objs.h:368
ap_ufixed< 14, 12, AP_TRN, AP_SAT > pt_t
Definition: datatypes.h:10
float floatDPhi() const
Definition: layer1_objs.h:319
glbeta_t hwVtxEta() const
Definition: layer1_objs.h:286
static const int BITWIDTH_SLIM
Definition: layer1_objs.h:229
bool operator==(const HadCaloObj &other) const
Definition: layer1_objs.h:19
ap_uint< BITWIDTH > pack() const
Definition: layer1_objs.h:133
float floatPhi() const
Definition: layer1_objs.h:317
eta_t hwVtxEta() const
Definition: layer1_objs.h:185
int intPt() const
Definition: layer1_objs.h:309
ap_ufixed< 10, 5, AP_TRN, AP_SAT > hoe_t
Definition: datatypes.h:34
redChi2Bin_t hwRedChi2RPhi
Definition: layer1_objs.h:177
float floatPt() const
Definition: layer1_objs.h:315
float floatVtxEta() const
Definition: layer1_objs.h:320
int intPhi() const
Definition: layer1_objs.h:41
static EmCaloObj unpack(const ap_uint< BITWIDTH > &src)
Definition: layer1_objs.h:146
bool operator>(const EmCaloObj &other) const
Definition: layer1_objs.h:103
bool operator<(const MuObj &other) const
Definition: layer1_objs.h:295
float floatDEta() const
Definition: layer1_objs.h:318
srrtot_t hwSrrTot
Definition: layer1_objs.h:15
ap_uint< 7 > tkdphi_t
Definition: datatypes.h:17
float floatHoe() const
Definition: layer1_objs.h:48
tkdphi_t hwDPhi
Definition: layer1_objs.h:170
int intPt() const
Definition: layer1_objs.h:38
glbphi_t hwPhi
Definition: layer1_objs.h:278
static TkObj unpack(const ap_uint< BITWIDTH > &src)
Definition: layer1_objs.h:253
float floatPhi(phi_t phi)
Definition: datatypes.h:166
int intPtErr() const
Definition: layer1_objs.h:118
void unpack_from_bits(const U &u, unsigned int &start, T &data)
Definition: bit_encoding.h:15
float floatDEta() const
Definition: layer1_objs.h:222
int intPt() const
Definition: layer1_objs.h:117
void clear(EGIsoObj &c)
Definition: egamma.h:82
ap_int< 8 > dxy_t
Definition: datatypes.h:22
bool hwIsEM() const
Definition: layer1_objs.h:50
float floatEta() const
Definition: layer1_objs.h:123
ap_uint< BITWIDTH > pack() const
Definition: layer1_objs.h:56
float floatPt() const
Definition: layer1_objs.h:121
tkdeta_t hwDEta
Definition: layer1_objs.h:279
float floatVtxPhi() const
Definition: layer1_objs.h:225
static const int BITWIDTH
Definition: layer1_objs.h:367
static const int BITWIDTH
Definition: layer1_objs.h:232
int intEta() const
Definition: layer1_objs.h:119
float floatEta() const
Definition: layer1_objs.h:44
tkdeta_t hwDEta
Definition: layer1_objs.h:169
ap_int< 12 > glbeta_t
Definition: datatypes.h:18
float floatSrrTot() const
Definition: layer1_objs.h:125
float floatEmPt() const
Definition: layer1_objs.h:43
glbeta_t hwEta
Definition: layer1_objs.h:277
void pack_bool_into_bits(U &u, unsigned int &start, bool data)
Definition: bit_encoding.h:22
int intEmPt() const
Definition: layer1_objs.h:39
Definition: datatypes.h:8