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 
13  HcalTrigTowerGeometry( const HcalTopology* topology );
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  int nPhiBinsHF = ( useUpgradeConfigurationHFTowers_ ? 36 : 18 );
27  return (abs(ieta) < firstHFTower()) ? 72 : nPhiBinsHF;
28  }
29 
30  int firstHFTower() const {return 29;}
31  int nTowers() const {return 32;}
32 
35  int hfTowerEtaSize(int ieta) const;
36 
38  int firstHFRingInTower(int ietaTower) const;
39 
41  void towerEtaBounds(int ieta, double & eta1, double & eta2) const;
42 
45  }
46 
47 private:
52 };
53 
54 #endif
55 
std::vector< HcalTrigTowerDetId > towerIds(const HcalDetId &cellId) const
the mapping to and from DetIds
const HcalTopology * theTopology
int hfTowerEtaSize(int ieta) const
int nPhiBins(int ieta) const
an interface for CaloSubdetectorGeometry
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
void towerEtaBounds(int ieta, double &eta1, double &eta2) const
where this tower begins and ends in eta
void setUpgradeConfigurationHFTowers(bool value)
int firstHFRingInTower(int ietaTower) const
since the towers are irregular in eta in HF
HcalTrigTowerGeometry(const HcalTopology *topology)
void setupHF(bool useShortFibers, bool useQuadRings)
std::vector< HcalDetId > detIds(const HcalTrigTowerDetId &) const