CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
11 public:
12 
14 
16  std::vector<HcalTrigTowerDetId> towerIds(const HcalDetId & cellId) const;
17  std::vector<HcalDetId> detIds(const HcalTrigTowerDetId &) const;
18 
19  void setupHFTowers(bool enableRCT, bool enable1x1) {
20  useRCT_=enableRCT;
21  use1x1_=enable1x1;
22  }
23 
24  int firstHFTower(int version) const {return (version==0)?(29):(30);}
25 
27  void towerEtaBounds(int ieta, int version, double & eta1, double & eta2) const;
28 
30  int nTowers(int version) const {return (version==0)?(32):(41);}
31 
32  // get the topology pointer
33  const HcalTopology& topology() const { return *theTopology; }
34 
35  // Get the useRCT and use1x1 values
36  bool useRCT() const { return useRCT_; }
37  bool use1x1() const { return use1x1_; }
38 
39  private:
40 
42  int nPhiBins(int ieta, int version) const {
43  int nPhiBinsHF = ( 18 );
44  return (abs(ieta) < firstHFTower(version)) ? 72 : nPhiBinsHF;
45  }
46 
49  int hfTowerEtaSize(int ieta) const;
50 
52  int firstHFRingInTower(int ietaTower) const;
53 
54  private:
56  bool useRCT_;
57  bool use1x1_;
58 };
59 
60 #endif
61 
std::vector< HcalTrigTowerDetId > towerIds(const HcalDetId &cellId) const
the mapping to and from DetIds
void setupHFTowers(bool enableRCT, bool enable1x1)
const HcalTopology * theTopology
void towerEtaBounds(int ieta, int version, double &eta1, double &eta2) const
where this tower begins and ends in eta
int hfTowerEtaSize(int ieta) const
int nPhiBins(int ieta, int version) const
the number of phi bins in this eta ring
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
int nTowers(int version) const
number of towers (version dependent)
int firstHFRingInTower(int ietaTower) const
since the towers are irregular in eta in HF
const HcalTopology & topology() const
HcalTrigTowerGeometry(const HcalTopology *topology)
std::vector< HcalDetId > detIds(const HcalTrigTowerDetId &) const
int firstHFTower(int version) const