CMS 3D CMS Logo

HGCalGeomParameters.h
Go to the documentation of this file.
1 #ifndef HGCalCommonData_HGCalGeomParameters_h
2 #define HGCalCommonData_HGCalGeomParameters_h
3 
15 #include <string>
16 #include <utility>
17 #include <vector>
18 
28 
30 public:
33 
34  void loadGeometryHexagon(const DDFilteredView& _fv,
35  HGCalParameters& php,
36  const std::string& sdTag1,
37  const DDCompactView* cpv,
38  const std::string& sdTag2,
39  const std::string& sdTag3,
42  HGCalParameters& php,
43  const std::string& sdTag1,
44  const std::string& sdTag2,
45  const std::string& sdTag3,
47  void loadGeometryHexagon8(const DDFilteredView& _fv, HGCalParameters& php, int firstLayer);
49  HGCalParameters& php,
50  const std::string& sdTag1,
51  int firstLayer);
52  void loadSpecParsHexagon(const DDFilteredView& fv,
53  HGCalParameters& php,
54  const DDCompactView* cpv,
55  const std::string& sdTag1,
56  const std::string& sdTag2);
58  HGCalParameters& php,
59  const std::string& sdTag1,
60  const std::string& sdTag2,
61  const std::string& sdTag3,
62  const std::string& sdTag4);
65  const cms::DDVectorsMap& vmap,
66  HGCalParameters& php,
67  const std::string& sdTag1);
70  const cms::DDVectorsMap& vmap,
71  HGCalParameters& php,
72  const std::string& sdTag1);
75  void loadCellParsHexagon(const DDCompactView* cpv, HGCalParameters& php);
77  void loadCellParsHexagon(const HGCalParameters& php);
79 
80  struct layerParameters {
81  double rmin, rmax, zpos;
82  layerParameters(double rin = 0, double rout = 0, double zp = 0) : rmin(rin), rmax(rout), zpos(zp) {}
83  };
84  struct cellParameters {
85  bool half;
86  int wafer;
88  cellParameters(bool h = false, int w = 0, GlobalPoint p = GlobalPoint(0, 0, 0))
89  : half(h), wafer(w), xyz(std::move(p)) {}
90  };
91 
92 private:
93  void loadGeometryHexagon(const std::map<int, HGCalGeomParameters::layerParameters>& layers,
94  std::vector<HGCalParameters::hgtrform>& trforms,
95  std::vector<bool>& trformUse,
96  const std::unordered_map<int32_t, int32_t>& copies,
97  const HGCalParameters::layer_map& copiesInLayers,
98  const std::vector<int32_t>& wafer2copy,
99  const std::vector<HGCalGeomParameters::cellParameters>& wafers,
100  const std::map<int, int>& wafertype,
101  const std::map<int, HGCalGeomParameters::cellParameters>& cellsf,
102  const std::map<int, HGCalGeomParameters::cellParameters>& cellsc,
103  HGCalParameters& php);
104  void loadGeometryHexagon8(const std::map<int, HGCalGeomParameters::layerParameters>& layers,
105  std::map<std::pair<int, int>, HGCalParameters::hgtrform>& trforms,
106  const int& firstLayer,
107  HGCalParameters& php);
108  void loadSpecParsHexagon(const HGCalParameters& php);
111  std::vector<double> getDDDArray(const std::string& str, const DDsvalues_type& sv, const int nmin);
112  std::pair<double, double> cellPosition(const std::vector<cellParameters>& wafers,
113  std::vector<cellParameters>::const_iterator& itrf,
114  int wafer,
115  double xx,
116  double yy);
117  void rescale(std::vector<double>&, const double s);
118  void resetZero(std::vector<double>&);
119 
120  constexpr static double tan30deg_ = 0.5773502693;
121  constexpr static int siliconFileEE = 2;
122  constexpr static int siliconFileHE = 3;
123  constexpr static int scintillatorFile = 4;
125  const double sqrt3_;
126  double waferSize_;
128  std::vector<int> tileIndx_, tileType_, tileSiPM_;
129  std::vector<int> tileHEX1_, tileHEX2_, tileHEX3_, tileHEX4_;
130  std::vector<double> tileRMin_, tileRMax_;
131  std::vector<int> tileRingMin_, tileRingMax_;
132 };
133 
134 #endif
HGCalGeomParameters::~HGCalGeomParameters
~HGCalGeomParameters()
Definition: HGCalGeomParameters.cc:37
HGCalGeomParameters::layerParameters
Definition: HGCalGeomParameters.h:80
HGCalGeomParameters::loadGeometryHexagon8
void loadGeometryHexagon8(const DDFilteredView &_fv, HGCalParameters &php, int firstLayer)
Definition: HGCalGeomParameters.cc:680
HGCalGeomParameters::loadWaferHexagon8
void loadWaferHexagon8(HGCalParameters &php)
Definition: HGCalGeomParameters.cc:1479
HGCalGeomParameters::siliconFileEE
constexpr static int siliconFileEE
Definition: HGCalGeomParameters.h:121
HGCalGeomParameters::waferSize_
double waferSize_
Definition: HGCalGeomParameters.h:126
HGCalGeomParameters::scintillatorFile
constexpr static int scintillatorFile
Definition: HGCalGeomParameters.h:123
cms::DDVectorsMap
tbb::concurrent_unordered_map< std::string, tbb::concurrent_vector< double > > DDVectorsMap
Definition: DDNamespace.h:14
HGCalGeomParameters::cellParameters
Definition: HGCalGeomParameters.h:84
HGCalGeometryMode.h
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
ALCARECOPromptCalibProdSiPixelAli0T_cff.mode
mode
Definition: ALCARECOPromptCalibProdSiPixelAli0T_cff.py:96
HGCalGeomParameters::tileRMax_
std::vector< double > tileRMax_
Definition: HGCalGeomParameters.h:130
HGCalGeomParameters::cellPosition
std::pair< double, double > cellPosition(const std::vector< cellParameters > &wafers, std::vector< cellParameters >::const_iterator &itrf, int wafer, double xx, double yy)
Definition: HGCalGeomParameters.cc:1854
HGCalGeomParameters::layerParameters::zpos
double zpos
Definition: HGCalGeomParameters.h:81
HGCalGeomParameters::loadGeometryHexagon
void loadGeometryHexagon(const DDFilteredView &_fv, HGCalParameters &php, const std::string &sdTag1, const DDCompactView *cpv, const std::string &sdTag2, const std::string &sdTag3, HGCalGeometryMode::WaferMode mode)
Definition: HGCalGeomParameters.cc:43
cms::DDFilteredView
Definition: DDFilteredView.h:65
DDCompactView.h
HGCalGeomParameters::cellParameters::wafer
int wafer
Definition: HGCalGeomParameters.h:86
HGCalGeomParameters::geomTools_
HGCalGeomTools geomTools_
Definition: HGCalGeomParameters.h:124
HGCalGeomParameters::waferParts_
std::vector< int > waferParts_
Definition: HGCalGeomParameters.h:127
HGCalGeomParameters::rescale
void rescale(std::vector< double > &, const double s)
Definition: HGCalGeomParameters.cc:1881
HGCalGeomParameters::getDDDArray
std::vector< double > getDDDArray(const std::string &str, const DDsvalues_type &sv, const int nmin)
Definition: HGCalGeomParameters.cc:1827
HGCalGeomParameters::layerParameters::layerParameters
layerParameters(double rin=0, double rout=0, double zp=0)
Definition: HGCalGeomParameters.h:82
alignCSCRings.s
s
Definition: alignCSCRings.py:92
HGCalGeomParameters::tan30deg_
constexpr static double tan30deg_
Definition: HGCalGeomParameters.h:120
DDFilteredView.h
HGCalGeomParameters::tileType_
std::vector< int > tileType_
Definition: HGCalGeomParameters.h:128
HGCalGeomParameters::cellParameters::half
bool half
Definition: HGCalGeomParameters.h:85
HGCalGeometryMode::WaferMode
WaferMode
Definition: HGCalGeometryMode.h:26
w
const double w
Definition: UKUtility.cc:23
HGCalGeomParameters::waferOrien_
std::vector< int > waferOrien_
Definition: HGCalGeomParameters.h:127
DDCompactView
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:80
pfDeepBoostedJetPreprocessParams_cfi.sv
sv
Definition: pfDeepBoostedJetPreprocessParams_cfi.py:226
HGCalGeomParameters::tileHEX4_
std::vector< int > tileHEX4_
Definition: HGCalGeomParameters.h:129
str
#define str(s)
Definition: TestProcessor.cc:48
HGCalGeomParameters::tileHEX2_
std::vector< int > tileHEX2_
Definition: HGCalGeomParameters.h:129
DDFilteredView.h
HGCalGeomParameters::loadSpecParsTrapezoid
void loadSpecParsTrapezoid(const DDFilteredView &fv, HGCalParameters &php)
Definition: HGCalGeomParameters.cc:1170
h
GlobalPoint
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
DDCompactView.h
HGCalGeomParameters::waferIndex_
std::vector< int > waferIndex_
Definition: HGCalGeomParameters.h:127
Point3DBase< float, GlobalTag >
HGCalGeomParameters::layerParameters::rmin
double rmin
Definition: HGCalGeomParameters.h:81
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
HGCalGeomParameters::tileHEX1_
std::vector< int > tileHEX1_
Definition: HGCalGeomParameters.h:129
HGCalGeomParameters::cellParameters::cellParameters
cellParameters(bool h=false, int w=0, GlobalPoint p=GlobalPoint(0, 0, 0))
Definition: HGCalGeomParameters.h:88
geometryCSVtoXML.yy
yy
Definition: geometryCSVtoXML.py:19
HGCalGeomParameters::layerParameters::rmax
double rmax
Definition: HGCalGeomParameters.h:81
HGCalGeomTools
Definition: HGCalGeomTools.h:8
HGCalGeomParameters::waferTypes_
std::vector< int > waferTypes_
Definition: HGCalGeomParameters.h:127
HGCalGeomParameters::loadCellParsHexagon
void loadCellParsHexagon(const DDCompactView *cpv, HGCalParameters &php)
Definition: HGCalGeomParameters.cc:1654
HGCalParameters
Definition: HGCalParameters.h:13
HGCalGeomParameters::loadCellTrapezoid
void loadCellTrapezoid(HGCalParameters &php)
Definition: HGCalGeomParameters.cc:1694
HGCalGeomTools.h
HGCalGeomParameters::siliconFileHE
constexpr static int siliconFileHE
Definition: HGCalGeomParameters.h:122
HGCalGeomParameters::HGCalGeomParameters
HGCalGeomParameters()
Definition: HGCalGeomParameters.cc:30
HGCalGeomParameters::loadSpecParsHexagon
void loadSpecParsHexagon(const DDFilteredView &fv, HGCalParameters &php, const DDCompactView *cpv, const std::string &sdTag1, const std::string &sdTag2)
Definition: HGCalGeomParameters.cc:886
eostools.move
def move(src, dest)
Definition: eostools.py:511
std
Definition: JetResolutionObject.h:76
HGCalGeomParameters::loadWaferHexagon
void loadWaferHexagon(HGCalParameters &php)
Definition: HGCalGeomParameters.cc:1378
HGCalGeomParameters::cellParameters::xyz
GlobalPoint xyz
Definition: HGCalGeomParameters.h:87
cms::DDCompactView
Definition: DDCompactView.h:29
HGCalGeomParameters::tileRMin_
std::vector< double > tileRMin_
Definition: HGCalGeomParameters.h:130
DDsvalues.h
HGCalGeomParameters
Definition: HGCalGeomParameters.h:29
HGCalGeomParameters::sqrt3_
const double sqrt3_
Definition: HGCalGeomParameters.h:125
HGCalParameters::hgtrform
Definition: HGCalParameters.h:46
DDFilteredView
Definition: DDFilteredView.h:20
HGCalGeomParameters::loadSpecParsHexagon8
void loadSpecParsHexagon8(const DDFilteredView &fv, HGCalParameters &php)
Definition: HGCalGeomParameters.cc:975
HGCalGeomParameters::tileIndx_
std::vector< int > tileIndx_
Definition: HGCalGeomParameters.h:128
genParticles_cff.map
map
Definition: genParticles_cff.py:11
HGCalGeomParameters::tileRingMax_
std::vector< int > tileRingMax_
Definition: HGCalGeomParameters.h:131
HGCalParameters::layer_map
std::vector< std::unordered_map< int32_t, int32_t > > layer_map
Definition: HGCalParameters.h:24
HGCalGeomParameters::tileSiPM_
std::vector< int > tileSiPM_
Definition: HGCalGeomParameters.h:128
DDsvalues_type
std::vector< std::pair< unsigned int, DDValue > > DDsvalues_type
Definition: DDsvalues.h:12
HGCalParameters.h
GlobalPoint.h
hgcalTopologyTester_cfi.layers
layers
Definition: hgcalTopologyTester_cfi.py:8
geometryCSVtoXML.xx
xx
Definition: geometryCSVtoXML.py:19
HGCalGeomParameters::tileHEX3_
std::vector< int > tileHEX3_
Definition: HGCalGeomParameters.h:129
HGCalGeomParameters::resetZero
void resetZero(std::vector< double > &)
Definition: HGCalGeomParameters.cc:1885
HGCalGeomParameters::tileRingMin_
std::vector< int > tileRingMin_
Definition: HGCalGeomParameters.h:131