HGCal Test Beam  03a93d6239a951948e06fb3ef8dae4cbdebfad30
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
HGCalTBDetId.cc
Go to the documentation of this file.
1 #include "HGCal/DataFormats/interface/HGCalTBDetId.h"
2 #include <iostream>
3 
4 //#define DebugLog
5 
7 {
8 }
9 
10 HGCalTBDetId::HGCalTBDetId(uint32_t rawid) : DetId(rawid)
11 {
12 }
13 
14 HGCalTBDetId::HGCalTBDetId(int lay, int sen_iu, int sen_iv, int iu, int iv, int cellType) : DetId(0)
15 {
16  uint32_t rawid = 0;
17  rawid |= ((iu & (kHGCalTBXSignMask | kHGCalTBXMask)) << kHGCalTBXOffset);
18  rawid |= ((iv & (kHGCalTBVSignMask | kHGCalTBVMask)) << kHGCalTBVOffset);
21  rawid |= ((lay & kHGCalLayerMask) << kHGCalLayerOffset);
22  rawid |= ((cellType & kHGCalTBCellTypeMask) << kHGCalTBCellTypeOffset);
23  id_ = rawid;
24 }
25 
26 HGCalTBDetId::HGCalTBDetId(const DetId& gen)
27 {
28  id_ = gen.rawId();
29 }
30 
32 {
33  id_ = gen.rawId();
34  return (*this);
35 }
36 
37 std::ostream& operator<<(std::ostream& s, const HGCalTBDetId& id)
38 {
39  s << "HGC(TB)"
40  << " layer=" << id.layer()
41  << " sensor(iu,iv)=" << id.sensorIU() << "," << id.sensorIV() << " iu,iv=" << id.iu() << "," << id.iv();
42  switch (id.cellType()) {
44  s << "Calib(Inner)";
45  break;
47  s << "Calib(Outer)";
48  break;
49  default:
50  break;
51  }
52 
53  return s;
54 }
static const int kHGCalTBSensorVSignMask
Definition: HGCalTBDetId.h:27
static const int kCellTypeCalibInner
Definition: HGCalTBDetId.h:36
static const int kHGCalLayerMask
Definition: HGCalTBDetId.h:31
static const int kHGCalTBSensorVMask
Definition: HGCalTBDetId.h:26
static const int kHGCalTBSensorVOffset
Definition: HGCalTBDetId.h:25
HGCalTBDetId & operator=(const DetId &id)
Definition: HGCalTBDetId.cc:31
static const int kHGCalTBCellTypeMask
Definition: HGCalTBDetId.h:29
static const int kCellTypeCalibOuter
Definition: HGCalTBDetId.h:37
static const int kHGCalTBVSignMask
Definition: HGCalTBDetId.h:21
static const int kHGCalTBSensorXOffset
Definition: HGCalTBDetId.h:22
static const int kHGCalTBXMask
Definition: HGCalTBDetId.h:17
static const int kHGCalTBSensorXMask
Definition: HGCalTBDetId.h:23
std::ostream & operator<<(std::ostream &, const HGCalTBDetId &id)
Definition: HGCalTBDetId.cc:37
static const int kHGCalTBVMask
Definition: HGCalTBDetId.h:20
static const int kHGCalTBXOffset
Definition: HGCalTBDetId.h:16
static const int kHGCalTBCellTypeOffset
Definition: HGCalTBDetId.h:28
static const int kHGCalLayerOffset
Definition: HGCalTBDetId.h:30
static const int kHGCalTBSensorXSignMask
Definition: HGCalTBDetId.h:24
static const int kHGCalTBVOffset
Definition: HGCalTBDetId.h:19
static const int kHGCalTBXSignMask
Definition: HGCalTBDetId.h:18