CMS 3D CMS Logo

HcalTrigTowerGeometry.h
Go to the documentation of this file.
1 #ifndef HcalTrigTowerGeometry_h
2 #define HcalTrigTowerGeometry_h
3 
6 #include <vector>
8 class HcalDetId;
9 class HcalZDCDetId;
10 
12 public:
14 
16  std::vector<HcalTrigTowerDetId> towerIds(const HcalDetId& cellId) const;
17  std::vector<HcalTrigTowerDetId> towerIds_ZDC(const HcalZDCDetId& cellId) const;
18  std::vector<HcalDetId> detIds(const HcalTrigTowerDetId&) const;
19 
20  int firstHFTower(int version) const { return (version == 1) ? (30) : (29); }
21 
23  void towerEtaBounds(int ieta, int version, double& eta1, double& eta2) const;
24 
26  int nTowers(int version) const { return (version == 1) ? (41) : (32); }
27 
28  // get the topology pointer
29  const HcalTopology& topology() const { return *theTopology; }
30 
31  // Get the useRCT and use1x1 values
32  bool useRCT() const { return useRCT_; }
33  bool use1x1() const { return use1x1_; }
34 
35 private:
37  int nPhiBins(int ieta, int version) const {
38  int nPhiBinsHF = (18);
39  return (abs(ieta) < firstHFTower(version)) ? 72 : nPhiBinsHF;
40  }
41 
44  int hfTowerEtaSize(int ieta) const;
45 
47  int firstHFRingInTower(int ietaTower) const;
48 
49 private:
51 
52  bool useRCT_;
53  bool use1x1_;
54  bool use2017_;
55 };
56 
57 #endif
const HcalTopology * theTopology
int nTowers(int version) const
number of towers (version dependent)
const HcalTopology & topology() const
int firstHFTower(int version) const
std::vector< HcalDetId > detIds(const HcalTrigTowerDetId &) const
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
int firstHFRingInTower(int ietaTower) const
since the towers are irregular in eta in HF
void towerEtaBounds(int ieta, int version, double &eta1, double &eta2) const
where this tower begins and ends in eta
int nPhiBins(int ieta, int version) const
the number of phi bins in this eta ring
int hfTowerEtaSize(int ieta) const
HcalTrigTowerGeometry(const HcalTopology *topology)
std::vector< HcalTrigTowerDetId > towerIds(const HcalDetId &cellId) const
the mapping to and from DetIds
std::vector< HcalTrigTowerDetId > towerIds_ZDC(const HcalZDCDetId &cellId) const