CMS 3D CMS Logo

DDTIDModuleAlgo.h
Go to the documentation of this file.
1 #ifndef DD_TIDModuleAlgo_h
2 #define DD_TIDModuleAlgo_h
3 
4 #include <map>
5 #include <string>
6 #include <vector>
9 
10 class DDTIDModuleAlgo : public DDAlgorithm {
11  public:
12  //Constructor and Destructor
13  DDTIDModuleAlgo();
14  ~DDTIDModuleAlgo() override;
15 
16  void initialize(const DDNumericArguments & nArgs,
17  const DDVectorArguments & vArgs,
18  const DDMapArguments & mArgs,
19  const DDStringArguments & sArgs,
20  const DDStringVectorArguments & vsArgs) override;
21 
22  void execute(DDCompactView& cpv) override;
23 
24 private:
25 
26  std::string genMat; //General material name
27  int detectorN; //Detector planes
28  double moduleThick; //Module thickness
29  double detTilt; //Tilt of stereo detector
30  double fullHeight; //Height
31  double dlTop; //Width at top of wafer
32  double dlBottom; //Width at bottom of wafer
33  double dlHybrid; //Width at the hybrid end
34  bool doComponents; //Components to be made
35 
36  std::string boxFrameName; //Top frame name
37  std::string boxFrameMat; // material
38  double boxFrameHeight; // height
39  double boxFrameThick; // thickness
40  double boxFrameWidth; // extra width
41  double bottomFrameHeight; //Bottom of the frame
42  double bottomFrameOver; // overlap
43  double topFrameHeight; //Top of the frame
44  double topFrameOver; // overlap
45  std::vector<std::string> sideFrameName; //Side frame name
47  double sideFrameWidth; // width
48  double sideFrameThick; // thickness
49  double sideFrameOver; // overlap (wrt wafer)
50  std::vector<std::string> holeFrameName; //Hole in the frame name
51  std::vector<std::string> holeFrameRot; // Rotation matrix
52 
53  std::vector<std::string> kaptonName; //Kapton circuit name
54  std::string kaptonMat; // material
55  // double kaptonWidth; // width -> computed internally from sideFrameWidth and kaptonOver
56  double kaptonThick; // thickness
57  double kaptonOver; // overlap (wrt Wafer)
58  std::vector<std::string> holeKaptonName; //Hole in the kapton circuit name
59  std::vector<std::string> holeKaptonRot; // Rotation matrix
60 
61  std::vector<std::string> waferName; //Wafer name
62  std::string waferMat; // material
63  double sideWidthTop; // width on the side Top
64  double sideWidthBottom; // Bottom
65  std::vector<std::string> activeName; //Sensitive name
66  std::string activeMat; // material
67  double activeHeight; // height
68  std::vector<double> waferThick; // wafer thickness (active = wafer - backplane)
69  std::string activeRot; // Rotation matrix
70  std::vector<double> backplaneThick; // thickness
71  std::string hybridName; //Hybrid name
72  std::string hybridMat; // material
73  double hybridHeight; // height
74  double hybridWidth; // width
75  double hybridThick; // thickness
76  std::vector<std::string> pitchName; //Pitch adapter name
77  std::string pitchMat; // material
78  double pitchHeight; // height
79  double pitchThick; // thickness
80  double pitchStereoTol; // tolerance in dimensions of the stereo
81  std::string coolName; // Cool insert name
82  std::string coolMat; // material
83  double coolHeight; // height
84  double coolThick; // thickness
85  double coolWidth; // width
86 
87 };
88 
89 #endif
void execute(DDCompactView &cpv) override
std::string boxFrameName
std::string sideFrameMat
std::string waferMat
std::string coolName
std::vector< std::string > waferName
type of data representation of DDCompactView
Definition: DDCompactView.h:90
std::string pitchMat
std::string activeRot
std::vector< std::string > holeKaptonName
std::string coolMat
std::string activeMat
std::vector< std::string > kaptonName
std::vector< std::string > holeFrameRot
std::string hybridName
std::vector< std::string > sideFrameName
double bottomFrameHeight
std::string boxFrameMat
std::string genMat
std::vector< double > waferThick
std::vector< std::string > holeFrameName
std::vector< double > backplaneThick
~DDTIDModuleAlgo() override
std::vector< std::string > pitchName
std::vector< std::string > activeName
std::string kaptonMat
std::vector< std::string > holeKaptonRot
std::string hybridMat
void initialize(const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs) override