CMS 3D CMS Logo

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