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 
20 public:
22 
23  CaloSubdetectorGeometry* load(const HcalTopology& fTopology, const HcalDDDRecConstants& hcons);
24 
25 private:
26 
28  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)
29  : ieta(f_eta), depth(f_depth), iphi(f_phi), phi(f_phi0), dphi(f_dPhi), rMin(f_rMin), rMax(f_rMax), etaMin(f_etaMin), etaMax(f_etaMax)
30  {}
31 
32  int ieta;
33  int depth;
34  int iphi;
35  double phi;
36  double dphi;
37  double rMin;
38  double rMax;
39  double etaMin;
40  float etaMax;
41  };
42 
44  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)
45  : ieta(f_eta), depth(f_depth), iphi(f_phi), phi(f_phi0), dphi(f_dPhi), zMin(f_zMin), zMax(f_zMax), etaMin(f_etaMin), etaMax(f_etaMax)
46  {}
47 
48  int ieta;
49  int depth;
50  int iphi;
51  double phi;
52  double dphi;
53  double zMin;
54  double zMax;
55  double etaMin;
56  double etaMax;
57  };
58 
60  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)
61  : eta(f_eta), depth(f_depth), phiFirst(f_phiFirst), phiStep(f_phiStep), nPhi(f_nPhi), dphi(f_dPhi), zMin(f_zMin), zMax(f_zMax), rMin(f_rMin), rMax(f_rMax)
62  {}
63 
64  int eta;
65  int depth;
66  int phiFirst;
67  int phiStep;
68  int nPhi;
69  int dphi;
70  float zMin;
71  float zMax;
72  float rMin;
73  float rMax;
74  };
75 
76  std::vector <HBHOCellParameters> makeHBCells (const HcalDDDRecConstants& hcons);
77  std::vector <HBHOCellParameters> makeHOCells ();
78  std::vector <HECellParameters> makeHECells (const HcalDDDRecConstants& hcons);
79  std::vector <HECellParameters> makeHECells_H2 ();
80  std::vector <HFCellParameters> makeHFCells (const HcalDDDRecConstants& hcons);
81 
82  void fillHBHO (HcalGeometry* fGeometry, const std::vector <HBHOCellParameters>& fCells, bool fHB);
83  void fillHE (HcalGeometry* fGeometry, const std::vector <HECellParameters>& fCells);
84  void fillHF (HcalGeometry* fGeometry, const std::vector <HFCellParameters>& fCells);
85 
87  double DEGREE2RAD;
88  bool isBH_;
89 };
90 
91 #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)