CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HcalFlexiHardcodeGeometryLoader.h
Go to the documentation of this file.
1 #ifndef GEOMETRY_HCALTOWERALGO_HCALFLEXIHARDCODEGEOMETRYLOADER_H
2 #define GEOMETRY_HCALTOWERALGO_HCALFLEXIHARDCODEGEOMETRYLOADER_H 1
3 
14 #include <vector>
15 
16 class HcalTopology;
17 
19 
20 public:
22 
23  CaloSubdetectorGeometry* load(const HcalTopology& fTopology);
24 
25 private:
26 
28  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)
29  : 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)
30  {}
31 
32  int eta;
33  int depth;
34  int phiFirst;
35  int phiStep;
36  int dphi;
37  float rMin;
38  float rMax;
39  float etaMin;
40  float etaMax;
41  };
42 
44  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)
45  : 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)
46  {}
47 
48  int eta;
49  int depth;
50  int phiFirst;
51  int phiStep;
52  int dphi;
53  float zMin;
54  float zMax;
55  float etaMin;
56  float etaMax;
57  };
58 
60  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)
61  : 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)
62  {}
63 
64  int eta;
65  int depth;
66  int phiFirst;
67  int phiStep;
68  int dphi;
69  float zMin;
70  float zMax;
71  float rMin;
72  float rMax;
73  };
74 
75  std::vector <HBHOCellParameters> makeHBCells (const HcalTopology & topology);
76  std::vector <HBHOCellParameters> makeHOCells ();
77  std::vector <HECellParameters> makeHECells (const HcalTopology & topology);
78  std::vector <HECellParameters> makeHECells_H2 ();
79  std::vector <HFCellParameters> makeHFCells ();
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 
88  std::vector<std::vector<int> > m_segmentation;
89 
90 };
91 
92 #endif
std::vector< std::vector< int > > m_segmentation
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)
std::vector< HFCellParameters > makeHFCells()
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)
void fillHBHO(CaloSubdetectorGeometry *fGeometry, const std::vector< HBHOCellParameters > &fCells, bool fHB)
std::vector< HECellParameters > makeHECells_H2()
HcalFlexiHardcodeGeometryLoader(const edm::ParameterSet &)
std::vector< HBHOCellParameters > makeHOCells()
std::vector< HBHOCellParameters > makeHBCells(const HcalTopology &topology)
CaloSubdetectorGeometry * load(const HcalTopology &fTopology)
void fillHE(CaloSubdetectorGeometry *fGeometry, const std::vector< HECellParameters > &fCells)
void fillHF(CaloSubdetectorGeometry *fGeometry, const std::vector< HFCellParameters > &fCells)
std::vector< HECellParameters > makeHECells(const HcalTopology &topology)
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)