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