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 
19 public:
21 
22  CaloSubdetectorGeometry* load(const HcalTopology& fTopology);
23 
24 private:
25 
27  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)
28  : eta(f_eta), depth(f_depth), phiFirst(f_phiFirst), phiStep(f_phiStep), dphi(f_dPhi), rMin(f_rMin), rMax(f_rMax), etaMin(f_etaMin), etaMax(f_etaMax)
29  {}
30 
31  int eta;
32  int depth;
33  int phiFirst;
34  int phiStep;
35  int dphi;
36  float rMin;
37  float rMax;
38  float etaMin;
39  float etaMax;
40  };
41 
43  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)
44  : eta(f_eta), depth(f_depth), phiFirst(f_phiFirst), phiStep(f_phiStep), dphi(f_dPhi), zMin(f_zMin), zMax(f_zMax), etaMin(f_etaMin), etaMax(f_etaMax)
45  {}
46 
47  int eta;
48  int depth;
49  int phiFirst;
50  int phiStep;
51  int dphi;
52  float zMin;
53  float zMax;
54  float etaMin;
55  float etaMax;
56  };
57 
59  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)
60  : eta(f_eta), depth(f_depth), phiFirst(f_phiFirst), phiStep(f_phiStep), 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 dphi;
68  float zMin;
69  float zMax;
70  float rMin;
71  float rMax;
72  };
73 
74  std::vector <HBHOCellParameters> makeHBCells (const HcalTopology & topology);
75  std::vector <HBHOCellParameters> makeHOCells ();
76  std::vector <HECellParameters> makeHECells (const HcalTopology & topology);
77  std::vector <HECellParameters> makeHECells_H2 ();
78  std::vector <HFCellParameters> makeHFCells ();
79 
80  void fillHBHO (HcalGeometry* fGeometry, const std::vector <HBHOCellParameters>& fCells, bool fHB);
81  void fillHE (HcalGeometry* fGeometry, const std::vector <HECellParameters>& fCells);
82  void fillHF (HcalGeometry* fGeometry, const std::vector <HFCellParameters>& fCells);
83 
85  double DEGREE2RAD;
86 
87  std::vector<std::vector<int> > m_segmentation;
88 
89 };
90 
91 #endif
void fillHBHO(HcalGeometry *fGeometry, const std::vector< HBHOCellParameters > &fCells, bool fHB)
std::vector< HFCellParameters > makeHFCells()
CaloTopology const * topology(0)
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()