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 public:
21 
22  CaloSubdetectorGeometry* load(const HcalTopology& fTopology, const HcalDDDRecConstants& hcons);
23 
24 private:
26  HBHOCellParameters(int f_eta,
27  int f_depth,
28  int f_phi,
29  double f_phi0,
30  double f_dPhi,
31  double f_rMin,
32  double f_rMax,
33  double f_etaMin,
34  double f_etaMax)
35  : ieta(f_eta),
36  depth(f_depth),
37  iphi(f_phi),
38  phi(f_phi0),
39  dphi(f_dPhi),
40  rMin(f_rMin),
41  rMax(f_rMax),
42  etaMin(f_etaMin),
43  etaMax(f_etaMax) {}
44 
45  int ieta;
46  int depth;
47  int iphi;
48  double phi;
49  double dphi;
50  double rMin;
51  double rMax;
52  double etaMin;
53  float etaMax;
54  };
55 
57  HECellParameters(int f_eta,
58  int f_depth,
59  int f_phi,
60  double f_phi0,
61  double f_dPhi,
62  double f_zMin,
63  double f_zMax,
64  double f_etaMin,
65  double f_etaMax)
66  : ieta(f_eta),
67  depth(f_depth),
68  iphi(f_phi),
69  phi(f_phi0),
70  dphi(f_dPhi),
71  zMin(f_zMin),
72  zMax(f_zMax),
73  etaMin(f_etaMin),
74  etaMax(f_etaMax) {}
75 
76  int ieta;
77  int depth;
78  int iphi;
79  double phi;
80  double dphi;
81  double zMin;
82  double zMax;
83  double etaMin;
84  double etaMax;
85  };
86 
88  HFCellParameters(int f_eta,
89  int f_depth,
90  int f_phiFirst,
91  int f_phiStep,
92  int f_nPhi,
93  int f_dPhi,
94  float f_zMin,
95  float f_zMax,
96  float f_rMin,
97  float f_rMax)
98  : eta(f_eta),
99  depth(f_depth),
100  phiFirst(f_phiFirst),
101  phiStep(f_phiStep),
102  nPhi(f_nPhi),
103  dphi(f_dPhi),
104  zMin(f_zMin),
105  zMax(f_zMax),
106  rMin(f_rMin),
107  rMax(f_rMax) {}
108 
109  int eta;
110  int depth;
111  int phiFirst;
112  int phiStep;
113  int nPhi;
114  int dphi;
115  float zMin;
116  float zMax;
117  float rMin;
118  float rMax;
119  };
120 
121  std::vector<HBHOCellParameters> makeHBCells(const HcalDDDRecConstants& hcons);
122  std::vector<HBHOCellParameters> makeHOCells();
123  std::vector<HECellParameters> makeHECells(const HcalDDDRecConstants& hcons);
124  std::vector<HECellParameters> makeHECells_H2();
125  std::vector<HFCellParameters> makeHFCells(const HcalDDDRecConstants& hcons);
126 
127  void fillHBHO(HcalGeometry* fGeometry, const std::vector<HBHOCellParameters>& fCells, bool fHB);
128  void fillHE(HcalGeometry* fGeometry, const std::vector<HECellParameters>& fCells);
129  void fillHF(HcalGeometry* fGeometry, const std::vector<HFCellParameters>& fCells);
130 
132  double DEGREE2RAD;
133  bool isBH_;
134 };
135 
136 #endif
HcalFlexiHardcodeGeometryLoader::HFCellParameters::HFCellParameters
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)
Definition: HcalFlexiHardcodeGeometryLoader.h:88
HcalFlexiHardcodeGeometryLoader::HFCellParameters::zMin
float zMin
Definition: HcalFlexiHardcodeGeometryLoader.h:115
HcalFlexiHardcodeGeometryLoader::fillHE
void fillHE(HcalGeometry *fGeometry, const std::vector< HECellParameters > &fCells)
Definition: HcalFlexiHardcodeGeometryLoader.cc:287
HcalFlexiHardcodeGeometryLoader::HBHOCellParameters::iphi
int iphi
Definition: HcalFlexiHardcodeGeometryLoader.h:47
HcalTopology
Definition: HcalTopology.h:26
HcalFlexiHardcodeGeometryLoader::makeHECells_H2
std::vector< HECellParameters > makeHECells_H2()
Definition: HcalFlexiHardcodeGeometryLoader.cc:217
HcalFlexiHardcodeGeometryLoader
Definition: HcalFlexiHardcodeGeometryLoader.h:18
HcalFlexiHardcodeGeometryLoader::HcalFlexiHardcodeGeometryLoader
HcalFlexiHardcodeGeometryLoader()
Definition: HcalFlexiHardcodeGeometryLoader.cc:19
HcalFlexiHardcodeGeometryLoader::fillHF
void fillHF(HcalGeometry *fGeometry, const std::vector< HFCellParameters > &fCells)
Definition: HcalFlexiHardcodeGeometryLoader.cc:321
HcalFlexiHardcodeGeometryLoader::HBHOCellParameters::etaMax
float etaMax
Definition: HcalFlexiHardcodeGeometryLoader.h:53
HcalFlexiHardcodeGeometryLoader::isBH_
bool isBH_
Definition: HcalFlexiHardcodeGeometryLoader.h:133
HcalFlexiHardcodeGeometryLoader::HFCellParameters::dphi
int dphi
Definition: HcalFlexiHardcodeGeometryLoader.h:114
HcalFlexiHardcodeGeometryLoader::HBHOCellParameters::depth
int depth
Definition: HcalFlexiHardcodeGeometryLoader.h:46
HcalFlexiHardcodeGeometryLoader::HECellParameters::zMin
double zMin
Definition: HcalFlexiHardcodeGeometryLoader.h:81
HcalFlexiHardcodeGeometryLoader::makeHFCells
std::vector< HFCellParameters > makeHFCells(const HcalDDDRecConstants &hcons)
Definition: HcalFlexiHardcodeGeometryLoader.cc:251
HcalFlexiHardcodeGeometryLoader::load
CaloSubdetectorGeometry * load(const HcalTopology &fTopology, const HcalDDDRecConstants &hcons)
Definition: HcalFlexiHardcodeGeometryLoader.cc:24
HcalFlexiHardcodeGeometryLoader::HBHOCellParameters::ieta
int ieta
Definition: HcalFlexiHardcodeGeometryLoader.h:45
HcalFlexiHardcodeGeometryLoader::makeHOCells
std::vector< HBHOCellParameters > makeHOCells()
Definition: HcalFlexiHardcodeGeometryLoader.cc:92
HcalFlexiHardcodeGeometryLoader::HFCellParameters::zMax
float zMax
Definition: HcalFlexiHardcodeGeometryLoader.h:116
HcalFlexiHardcodeGeometryLoader::HECellParameters::phi
double phi
Definition: HcalFlexiHardcodeGeometryLoader.h:79
HcalFlexiHardcodeGeometryLoader::HECellParameters::etaMin
double etaMin
Definition: HcalFlexiHardcodeGeometryLoader.h:83
HcalFlexiHardcodeGeometryLoader::makeHBCells
std::vector< HBHOCellParameters > makeHBCells(const HcalDDDRecConstants &hcons)
Definition: HcalFlexiHardcodeGeometryLoader.cc:53
HcalFlexiHardcodeGeometryLoader::HFCellParameters::phiFirst
int phiFirst
Definition: HcalFlexiHardcodeGeometryLoader.h:111
HcalFlexiHardcodeGeometryLoader::HECellParameters::zMax
double zMax
Definition: HcalFlexiHardcodeGeometryLoader.h:82
HcalFlexiHardcodeGeometryLoader::HFCellParameters::nPhi
int nPhi
Definition: HcalFlexiHardcodeGeometryLoader.h:113
HcalFlexiHardcodeGeometryLoader::HFCellParameters::phiStep
int phiStep
Definition: HcalFlexiHardcodeGeometryLoader.h:112
HcalFlexiHardcodeGeometryLoader::HBHOCellParameters::rMin
double rMin
Definition: HcalFlexiHardcodeGeometryLoader.h:50
HcalFlexiHardcodeGeometryLoader::HFCellParameters::eta
int eta
Definition: HcalFlexiHardcodeGeometryLoader.h:109
HcalFlexiHardcodeGeometryLoader::HBHOCellParameters::phi
double phi
Definition: HcalFlexiHardcodeGeometryLoader.h:48
HcalFlexiHardcodeGeometryLoader::HBHOCellParameters::etaMin
double etaMin
Definition: HcalFlexiHardcodeGeometryLoader.h:52
HcalFlexiHardcodeGeometryLoader::HBHOCellParameters::rMax
double rMax
Definition: HcalFlexiHardcodeGeometryLoader.h:51
HcalFlexiHardcodeGeometryLoader::HFCellParameters::rMax
float rMax
Definition: HcalFlexiHardcodeGeometryLoader.h:118
HcalFlexiHardcodeGeometryLoader::HECellParameters::HECellParameters
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)
Definition: HcalFlexiHardcodeGeometryLoader.h:57
HcalFlexiHardcodeGeometryLoader::HECellParameters::depth
int depth
Definition: HcalFlexiHardcodeGeometryLoader.h:77
HcalFlexiHardcodeGeometryLoader::HFCellParameters::rMin
float rMin
Definition: HcalFlexiHardcodeGeometryLoader.h:117
HcalFlexiHardcodeGeometryLoader::DEGREE2RAD
double DEGREE2RAD
Definition: HcalFlexiHardcodeGeometryLoader.h:132
HcalFlexiHardcodeGeometryLoader::HECellParameters::ieta
int ieta
Definition: HcalFlexiHardcodeGeometryLoader.h:76
HcalFlexiHardcodeGeometryLoader::makeHECells
std::vector< HECellParameters > makeHECells(const HcalDDDRecConstants &hcons)
Definition: HcalFlexiHardcodeGeometryLoader.cc:155
HcalFlexiHardcodeGeometryLoader::HFCellParameters
Definition: HcalFlexiHardcodeGeometryLoader.h:87
HcalFlexiHardcodeGeometryLoader::HECellParameters
Definition: HcalFlexiHardcodeGeometryLoader.h:56
HcalFlexiHardcodeGeometryLoader::HECellParameters::iphi
int iphi
Definition: HcalFlexiHardcodeGeometryLoader.h:78
HcalFlexiHardcodeGeometryLoader::HBHOCellParameters
Definition: HcalFlexiHardcodeGeometryLoader.h:25
CaloVGeometryLoader.h
HcalFlexiHardcodeGeometryLoader::HBHOCellParameters::HBHOCellParameters
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)
Definition: HcalFlexiHardcodeGeometryLoader.h:26
CaloCellGeometry.h
HcalFlexiHardcodeGeometryLoader::HECellParameters::etaMax
double etaMax
Definition: HcalFlexiHardcodeGeometryLoader.h:84
HcalFlexiHardcodeGeometryLoader::MAX_HCAL_PHI
int MAX_HCAL_PHI
Definition: HcalFlexiHardcodeGeometryLoader.h:131
CaloSubdetectorGeometry
Definition: CaloSubdetectorGeometry.h:22
HcalFlexiHardcodeGeometryLoader::HBHOCellParameters::dphi
double dphi
Definition: HcalFlexiHardcodeGeometryLoader.h:49
HcalDDDRecConstants
Definition: HcalDDDRecConstants.h:23
HcalFlexiHardcodeGeometryLoader::fillHBHO
void fillHBHO(HcalGeometry *fGeometry, const std::vector< HBHOCellParameters > &fCells, bool fHB)
Definition: HcalFlexiHardcodeGeometryLoader.cc:122
ParameterSet.h
HcalFlexiHardcodeGeometryLoader::HECellParameters::dphi
double dphi
Definition: HcalFlexiHardcodeGeometryLoader.h:80
HcalGeometry
Definition: HcalGeometry.h:17
HcalFlexiHardcodeGeometryLoader::HFCellParameters::depth
int depth
Definition: HcalFlexiHardcodeGeometryLoader.h:110