CMS 3D CMS Logo

HcalHardcodeGeometryLoader.h
Go to the documentation of this file.
1 #ifndef GEOMETRY_HCALTOWERALGO_HCALHARDCODEGEOMETRYLOADER_H
2 #define GEOMETRY_HCALTOWERALGO_HCALHARDCODEGEOMETRYLOADER_H 1
3 
12 #include <vector>
13 
14 class HcalTopology;
15 class HcalGeometry;
16 
18 public:
20 
21  CaloSubdetectorGeometry* load(const HcalTopology& fTopology);
22 
23 private:
25  HBHOCellParameters(int f_eta,
26  int f_depth,
27  int f_phiFirst,
28  int f_phiStep,
29  int f_dPhi,
30  float f_rMin,
31  float f_rMax,
32  float f_etaMin,
33  float f_etaMax)
34  : eta(f_eta),
35  depth(f_depth),
36  phiFirst(f_phiFirst),
37  phiStep(f_phiStep),
38  dphi(f_dPhi),
39  rMin(f_rMin),
40  rMax(f_rMax),
41  etaMin(f_etaMin),
42  etaMax(f_etaMax) {}
43 
44  int eta;
45  int depth;
46  int phiFirst;
47  int phiStep;
48  int dphi;
49  float rMin;
50  float rMax;
51  float etaMin;
52  float etaMax;
53  };
54 
56  HECellParameters(int f_eta,
57  int f_depth,
58  int f_phiFirst,
59  int f_phiStep,
60  int f_dPhi,
61  float f_zMin,
62  float f_zMax,
63  float f_etaMin,
64  float f_etaMax)
65  : eta(f_eta),
66  depth(f_depth),
67  phiFirst(f_phiFirst),
68  phiStep(f_phiStep),
69  dphi(f_dPhi),
70  zMin(f_zMin),
71  zMax(f_zMax),
72  etaMin(f_etaMin),
73  etaMax(f_etaMax) {}
74 
75  int eta;
76  int depth;
77  int phiFirst;
78  int phiStep;
79  int dphi;
80  float zMin;
81  float zMax;
82  float etaMin;
83  float etaMax;
84  };
85 
87  HFCellParameters(int f_eta,
88  int f_depth,
89  int f_phiFirst,
90  int f_phiStep,
91  int f_dPhi,
92  float f_zMin,
93  float f_zMax,
94  float f_rMin,
95  float f_rMax)
96  : eta(f_eta),
97  depth(f_depth),
98  phiFirst(f_phiFirst),
99  phiStep(f_phiStep),
100  dphi(f_dPhi),
101  zMin(f_zMin),
102  zMax(f_zMax),
103  rMin(f_rMin),
104  rMax(f_rMax) {}
105 
106  int eta;
107  int depth;
108  int phiFirst;
109  int phiStep;
110  int dphi;
111  float zMin;
112  float zMax;
113  float rMin;
114  float rMax;
115  };
116 
117  std::vector<HBHOCellParameters> makeHBCells(const HcalTopology& topology);
118  std::vector<HBHOCellParameters> makeHOCells();
119  std::vector<HECellParameters> makeHECells(const HcalTopology& topology);
120  std::vector<HECellParameters> makeHECells_H2();
121  std::vector<HFCellParameters> makeHFCells();
122 
123  void fillHBHO(HcalGeometry* fGeometry, const std::vector<HBHOCellParameters>& fCells, bool fHB);
124  void fillHE(HcalGeometry* fGeometry, const std::vector<HECellParameters>& fCells);
125  void fillHF(HcalGeometry* fGeometry, const std::vector<HFCellParameters>& fCells);
126 
128  double DEGREE2RAD;
129 
130  std::vector<std::vector<int> > m_segmentation;
131 };
132 
133 #endif
void fillHBHO(HcalGeometry *fGeometry, const std::vector< HBHOCellParameters > &fCells, bool fHB)
std::vector< HFCellParameters > makeHFCells()
std::vector< HBHOCellParameters > makeHOCells()
void fillHF(HcalGeometry *fGeometry, const std::vector< HFCellParameters > &fCells)
HBHOCellParameters(int f_eta, int f_depth, int f_phiFirst, int f_phiStep, int f_dPhi, float f_rMin, float f_rMax, float f_etaMin, float f_etaMax)
HFCellParameters(int f_eta, int f_depth, int f_phiFirst, int f_phiStep, int f_dPhi, float f_zMin, float f_zMax, float f_rMin, float f_rMax)
HECellParameters(int f_eta, int f_depth, int f_phiFirst, int f_phiStep, int f_dPhi, float f_zMin, float f_zMax, float f_etaMin, float f_etaMax)
CaloSubdetectorGeometry * load(const HcalTopology &fTopology)
std::vector< HECellParameters > makeHECells(const HcalTopology &topology)
std::vector< std::vector< int > > m_segmentation
std::vector< HBHOCellParameters > makeHBCells(const HcalTopology &topology)
void fillHE(HcalGeometry *fGeometry, const std::vector< HECellParameters > &fCells)
std::vector< HECellParameters > makeHECells_H2()