test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HGCalParameters.h
Go to the documentation of this file.
1 #ifndef Geometry_HGCalCommonData_HGCalParameters_h
2 #define Geometry_HGCalCommonData_HGCalParameters_h
3 
6 #include <CLHEP/Geometry/Transform3D.h>
7 #include <string>
8 #include <vector>
9 #include <iostream>
10 #include <stdint.h>
11 
12 #include<vector>
13 #include<unordered_map>
14 
16 
17 public:
18 
19  typedef std::vector<std::unordered_map<int32_t,int32_t> > layer_map;
20 
21  struct hgtrap {
22  int lay;
23  float bl, tl, h, dz, alpha, cellSize;
24  };
25 
26  struct hgtrform {
27  int zp, lay, sec, subsec;
28  CLHEP::Hep3Vector h3v;
29  CLHEP::HepRotation hr;
30  };
31 
32  HGCalParameters(const std::string& nam);
33  ~HGCalParameters( void );
34  void fillModule(const hgtrap& mytr, bool reco);
35  hgtrap getModule(unsigned int k, bool reco) const;
36  void fillTrForm(const hgtrform& mytr);
37  hgtrform getTrForm(unsigned int k) const;
38  void addTrForm(const CLHEP::Hep3Vector& h3v);
39  void scaleTrForm(double);
40 
41  static const int kMaskZside = 0x1;
42  static const int kMaskLayer = 0x7F;
43  static const int kMaskSector = 0x3FF;
44  static const int kMaskSubSec = 0x1;
45  static const int kShiftZside = 19;
46  static const int kShiftLayer = 12;
47  static const int kShiftSector = 1;
48  static const int kShiftSubSec = 0;
49 
51  int nCells_;
52  int nSectors_;
53  std::vector<double> cellSize_;
54  std::vector<int> moduleLayS_;
55  std::vector<double> moduleBlS_;
56  std::vector<double> moduleTlS_;
57  std::vector<double> moduleHS_;
58  std::vector<double> moduleDzS_;
59  std::vector<double> moduleAlphaS_;
60  std::vector<double> moduleCellS_;
61  std::vector<int> moduleLayR_;
62  std::vector<double> moduleBlR_;
63  std::vector<double> moduleTlR_;
64  std::vector<double> moduleHR_;
65  std::vector<double> moduleDzR_;
66  std::vector<double> moduleAlphaR_;
67  std::vector<double> moduleCellR_;
68  std::vector<uint32_t> trformIndex_;
69  std::vector<double> trformTranX_;
70  std::vector<double> trformTranY_;
71  std::vector<double> trformTranZ_;
72  std::vector<double> trformRotXX_;
73  std::vector<double> trformRotYX_;
74  std::vector<double> trformRotZX_;
75  std::vector<double> trformRotXY_;
76  std::vector<double> trformRotYY_;
77  std::vector<double> trformRotZY_;
78  std::vector<double> trformRotXZ_;
79  std::vector<double> trformRotYZ_;
80  std::vector<double> trformRotZZ_;
81  std::vector<int> layer_;
82  std::vector<int> layerIndex_;
83  std::vector<int> layerGroup_;
84  std::vector<int> cellFactor_;
85  std::vector<int> depth_;
86  std::vector<int> depthIndex_;
87  std::vector<int> depthLayerF_;
88  std::vector<double> zLayerHex_;
89  std::vector<double> rMinLayHex_;
90  std::vector<double> rMaxLayHex_;
91  std::vector<int> waferCopy_;
92  std::vector<int> waferTypeL_;
93  std::vector<int> waferTypeT_;
94  std::vector<double> waferPosX_;
95  std::vector<double> waferPosY_;
96  std::vector<double> cellFineX_;
97  std::vector<double> cellFineY_;
98  std::vector<double> cellCoarseX_;
99  std::vector<double> cellCoarseY_;
100  std::vector<int> layerGroupM_;
101  std::vector<int> layerGroupO_;
102  std::vector<double> boundR_;
103  double waferR_;
104  int mode_;
106 
108 };
109 
110 #endif
std::vector< double > waferPosY_
std::vector< int > layer_
std::vector< double > moduleDzR_
std::vector< int > depthLayerF_
std::vector< int > depth_
std::vector< double > moduleCellR_
std::vector< double > moduleHR_
layer_map copiesInLayers_
std::vector< int > moduleLayR_
static const int kMaskSubSec
std::vector< double > moduleHS_
std::vector< double > trformTranY_
static const int kMaskLayer
std::vector< double > cellFineY_
std::vector< double > trformRotZY_
std::vector< uint32_t > trformIndex_
std::vector< int > layerGroupM_
std::vector< int > cellFactor_
std::vector< double > trformRotXX_
void fillTrForm(const hgtrform &mytr)
HGCalParameters(const std::string &nam)
std::vector< double > trformRotZX_
std::vector< double > cellCoarseX_
std::vector< double > trformRotYZ_
static const int kMaskSector
std::vector< double > boundR_
std::vector< double > cellSize_
std::vector< double > moduleDzS_
std::vector< int > layerIndex_
std::vector< double > moduleAlphaR_
hgtrform getTrForm(unsigned int k) const
std::vector< double > trformRotXY_
std::vector< double > trformRotYX_
hgtrap getModule(unsigned int k, bool reco) const
std::vector< std::unordered_map< int32_t, int32_t > > layer_map
std::vector< double > moduleBlR_
std::vector< double > rMinLayHex_
void fillModule(const hgtrap &mytr, bool reco)
std::vector< double > moduleTlS_
std::vector< double > zLayerHex_
std::vector< double > rMaxLayHex_
std::vector< double > trformTranX_
std::vector< double > trformRotXZ_
void scaleTrForm(double)
std::vector< int > layerGroup_
std::vector< double > moduleCellS_
#define COND_SERIALIZABLE
Definition: Serializable.h:37
std::vector< double > trformRotYY_
std::vector< double > cellFineX_
static const int kShiftSector
std::vector< double > trformRotZZ_
std::vector< double > moduleAlphaS_
std::vector< int > layerGroupO_
static const int kShiftZside
std::vector< double > moduleBlS_
std::vector< int > waferCopy_
std::vector< int > depthIndex_
std::vector< int > waferTypeT_
std::vector< double > cellCoarseY_
std::vector< int > moduleLayS_
std::vector< double > trformTranZ_
static const int kMaskZside
CLHEP::HepRotation hr
std::vector< double > waferPosX_
void addTrForm(const CLHEP::Hep3Vector &h3v)
std::vector< double > moduleTlR_
std::vector< int > waferTypeL_
std::string name_
static const int kShiftSubSec
static const int kShiftLayer