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 
15  void setupHF(bool useShortFibers, bool useQuadRings);
16 
18  std::vector<HcalTrigTowerDetId> towerIds(const HcalDetId & cellId) const;
19  std::vector<HcalDetId> detIds(const HcalTrigTowerDetId &) const;
20 
22  //std::vector<DetId> getValidDetIds(DetId::Detector det, int subdet) const;
23 
25  int nPhiBins(int ieta) const {
26  return (abs(ieta) < firstHFTower()) ? 72 : 18;
27  }
28 
29  int firstHFTower() const {return 29;}
30  int nTowers() const {return 32;}
31 
34  int hfTowerEtaSize(int ieta) const;
35 
37  int firstHFRingInTower(int ietaTower) const;
38 
40  void towerEtaBounds(int ieta, double & eta1, double & eta2) const;
41 
42 private:
46 };
47 
48 #endif
49 
std::vector< HcalTrigTowerDetId > towerIds(const HcalDetId &cellId) const
the mapping to and from DetIds
#define abs(x)
Definition: mlp_lapack.h:159
int hfTowerEtaSize(int ieta) const
int nPhiBins(int ieta) const
an interface for CaloSubdetectorGeometry
void towerEtaBounds(int ieta, double &eta1, double &eta2) const
where this tower begins and ends in eta
int firstHFRingInTower(int ietaTower) const
since the towers are irregular in eta in HF
void setupHF(bool useShortFibers, bool useQuadRings)
std::vector< HcalDetId > detIds(const HcalTrigTowerDetId &) const