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:
35  const std::string&,
36  const DDCompactView*,
37  const std::string&,
38  const std::string&,
42  const std::string&,
43  const cms::DDCompactView*,
44  const std::string&,
45  const std::string&,
50  const DDFilteredView&, HGCalParameters&, const DDCompactView*, const std::string&, const std::string&);
53  const cms::DDCompactView*,
54  const std::string&,
55  const std::string&,
56  const std::string&,
57  const std::string&);
64  void loadCellParsHexagon(const DDCompactView* cpv, HGCalParameters& php);
66  void loadCellParsHexagon(const HGCalParameters& php);
68 
69  struct layerParameters {
70  double rmin, rmax, zpos;
71  layerParameters(double rin = 0, double rout = 0, double zp = 0) : rmin(rin), rmax(rout), zpos(zp) {}
72  };
73  struct cellParameters {
74  bool half;
75  int wafer;
77  cellParameters(bool h = false, int w = 0, GlobalPoint p = GlobalPoint(0, 0, 0))
78  : half(h), wafer(w), xyz(std::move(p)) {}
79  };
80 
81 private:
82  void loadGeometryHexagon(const std::map<int, HGCalGeomParameters::layerParameters>& layers,
83  std::vector<HGCalParameters::hgtrform>& trforms,
84  std::vector<bool>& trformUse,
85  const std::unordered_map<int32_t, int32_t>& copies,
86  const HGCalParameters::layer_map& copiesInLayers,
87  const std::vector<int32_t>& wafer2copy,
88  const std::vector<HGCalGeomParameters::cellParameters>& wafers,
89  const std::map<int, int>& wafertype,
90  const std::map<int, HGCalGeomParameters::cellParameters>& cellsf,
91  const std::map<int, HGCalGeomParameters::cellParameters>& cellsc,
92  HGCalParameters& php);
93  void loadGeometryHexagon8(const std::map<int, HGCalGeomParameters::layerParameters>& layers,
94  std::map<std::pair<int, int>, HGCalParameters::hgtrform>& trforms,
95  const int& firstLayer,
96  HGCalParameters& php);
97  void loadSpecParsHexagon(const HGCalParameters& php);
98  void loadSpecParsHexagon8(const HGCalParameters& php);
99  void loadSpecParsTrapezoid(const HGCalParameters& php);
100  std::vector<double> getDDDArray(const std::string&, const DDsvalues_type&, const int);
101  std::pair<double, double> cellPosition(const std::vector<cellParameters>& wafers,
102  std::vector<cellParameters>::const_iterator& itrf,
103  int wafer,
104  double xx,
105  double yy);
106  void rescale(std::vector<double>&, const double s);
108  const double sqrt3_;
109  double waferSize_;
110 };
111 
112 #endif
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
const double w
Definition: UKUtility.cc:23
cellParameters(bool h=false, int w=0, GlobalPoint p=GlobalPoint(0, 0, 0))
void loadSpecParsHexagon(const DDFilteredView &, HGCalParameters &, const DDCompactView *, const std::string &, const std::string &)
void rescale(std::vector< double > &, const double s)
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:80
void loadSpecParsHexagon8(const DDFilteredView &, HGCalParameters &)
std::vector< std::pair< unsigned int, DDValue > > DDsvalues_type
Definition: DDsvalues.h:12
void loadCellTrapezoid(HGCalParameters &php)
std::pair< double, double > cellPosition(const std::vector< cellParameters > &wafers, std::vector< cellParameters >::const_iterator &itrf, int wafer, double xx, double yy)
layerParameters(double rin=0, double rout=0, double zp=0)
void loadCellParsHexagon(const DDCompactView *cpv, HGCalParameters &php)
tbb::concurrent_unordered_map< std::string, tbb::concurrent_vector< double >> DDVectorsMap
Definition: DDNamespace.h:14
void loadSpecParsTrapezoid(const DDFilteredView &, HGCalParameters &)
void loadGeometryHexagon8(const DDFilteredView &, HGCalParameters &, int)
std::vector< double > getDDDArray(const std::string &, const DDsvalues_type &, const int)
void loadWaferHexagon(HGCalParameters &php)
def move(src, dest)
Definition: eostools.py:511
void loadWaferHexagon8(HGCalParameters &php)
void loadGeometryHexagon(const DDFilteredView &, HGCalParameters &, const std::string &, const DDCompactView *, const std::string &, const std::string &, HGCalGeometryMode::WaferMode)
std::vector< std::unordered_map< int32_t, int32_t > > layer_map