CMS 3D CMS Logo

HGCalCoarseTriggerCellMapping.h
Go to the documentation of this file.
1 #ifndef __L1Trigger_L1THGCal_HGCalCoarseTriggerCellMapping_h__
2 #define __L1Trigger_L1THGCal_HGCalCoarseTriggerCellMapping_h__
3 
8 
10 public:
11  HGCalCoarseTriggerCellMapping(const std::vector<unsigned>& ctcSize);
12  uint32_t getRepresentativeDetId(uint32_t tcid) const;
13  std::vector<uint32_t> getConstituentTriggerCells(uint32_t ctcId) const;
14  GlobalPoint getCoarseTriggerCellPosition(uint32_t ctcId) const;
15  uint32_t getCoarseTriggerCellId(uint32_t detid) const;
16  void checkSizeValidity(int ctcSize) const;
18 
19  static constexpr int kCTCsizeCoarse_ = 16;
20  static constexpr int kCTCsizeMid_ = 8;
21  static constexpr int kCTCsizeFine_ = 4;
22  static constexpr int kCTCsizeVeryFine_ = 2;
23  static constexpr int kCTCsizeIndividual_ = 1;
24 
25 private:
26  static const std::map<int, int> kSplit_;
27  static const std::map<int, int> kSplit_Scin_;
28  static constexpr int kSTCidMaskInv_ = ~0xf;
29  static constexpr int kNThicknesses_ = 4;
30  static constexpr int kNHGCalLayersMax_ = 52;
31 
32  static constexpr int kSplit_Coarse_ = 0;
33  static constexpr int kSplit_Mid_ = 0x2;
34  static constexpr int kSplit_Fine_ = 0xa;
35  static constexpr int kSplit_VeryFine_ = 0xb;
36  static constexpr int kSplit_Individual_ = 0xf;
37 
38  static constexpr int kSplit_Scin_Coarse_ = 0x1f9fc;
39  static constexpr int kSplit_Scin_Mid_ = 0x1fdfc;
40  static constexpr int kSplit_Scin_Fine_ = 0x1fdfe;
41  static constexpr int kSplit_Scin_VeryFine_ = 0x1fffe;
42  static constexpr int kSplit_Scin_Individual_ = 0x1ffff;
43 
44  //For coarse TCs
45  static constexpr int kRocShift_ = 4;
46  static constexpr int kRocMask_ = 0xf;
47  static constexpr int kRotate4_ = 4;
48  static constexpr int kRotate7_ = 7;
49  static constexpr int kUShift_ = 2;
50  static constexpr int kVShift_ = 0;
51  static constexpr int kUMask_ = 0x3;
52  static constexpr int kVMask_ = 0x3;
53  static constexpr int kHGCalCellMaskInv_ = ~0xff;
54  static constexpr int kHGCalScinCellMaskInv_ = ~0x1ffff;
55 
56  static constexpr int kRoc0deg_ = 1;
57  static constexpr int kRoc120deg_ = 2;
58  static constexpr int kRoc240deg_ = 3;
59 
62  std::vector<unsigned> ctcSize_;
63 };
64 
65 #endif
static const std::map< int, int > kSplit_
void setGeometry(const HGCalTriggerGeometryBase *const geom)
std::vector< uint32_t > getConstituentTriggerCells(uint32_t ctcId) const
uint32_t getRepresentativeDetId(uint32_t tcid) const
uint32_t getCoarseTriggerCellId(uint32_t detid) const
void setGeometry(const HGCalTriggerGeometryBase *const)
static const std::map< int, int > kSplit_Scin_
GlobalPoint getCoarseTriggerCellPosition(uint32_t ctcId) const
HGCalCoarseTriggerCellMapping(const std::vector< unsigned > &ctcSize)