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