CMS 3D CMS Logo

DDTIBLayerAlgo_MTCC.h
Go to the documentation of this file.
1 #ifndef DD_TIBLayerAlgo_MTCC_h
2 #define DD_TIBLayerAlgo_MTCC_h
3 
4 #include <map>
5 #include <string>
6 #include <vector>
9 
10 class DDTIBLayerAlgo_MTCC : public DDAlgorithm {
11 public:
12  //Constructor and Destructor
14  ~DDTIBLayerAlgo_MTCC() 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  std::string idNameSpace; //Namespace of this and ALL parts
26  std::string genMat; //General material name
27  double detectorTilt; //Detector Tilt
28  double layerL; //Length of the layer
29  double detectorTol; //Tolerance
30  double detectorW; //Width of detector layer
31  double detectorT; //Thickness .........
32  double coolTubeW; //Width of layer with cable+cool
33  double coolTubeT; //Thickness .........
34 
35  double radiusLo; //Radius for detector at lower level
36  double phioffLo; //Phi offset ......
37  double phiMinLo; //Phi minimum ......
38  double phiMaxLo; //Phi maximum ......
39  int stringsLo; //Number of strings ......
40  std::vector<double> stringLoList; //List of strings to fill ......
41  std::string detectorLo; //Detector string name ......
42  std::string emptyDetectorLo; //Empty Detector string name ......
43  double roffDetLo; //Radial offset ......
44  std::string coolCableLo; //Cable+Cool name ......
45  std::string emptyCoolCableLo; //Empty Cable+Cool name ......
46  double roffCableLo; //Radial offset ......
47 
48  double radiusUp; //Radius for detector at upper level
49  double phioffUp; //Phi offset ......
50  double phiMinUp; //Phi minimum ......
51  double phiMaxUp; //Phi maximum ......
52  int stringsUp; //Number of strings ......
53  std::vector<double> stringUpList; //List of strings to fill ......
54  std::string detectorUp; //Detector string name ......
55  std::string emptyDetectorUp; //Empty Detector string name ......
56  double roffDetUp; //Radial offset ......
57  std::string coolCableUp; //Cable+Cool name ......
58  std::string emptyCoolCableUp; //Empty Cable+Cool name ......
59  double roffCableUp; //Radial offset ......
60 
61  double cylinderT; //Cylinder thickness
62  std::string cylinderMat; //Cylinder material
63  double supportW; //Support wall width
64  double supportT; //Support wall thickness
65  std::string supportMat; //Support wall material
66  std::string ribMat; //Rib material
67  std::vector<double> ribW; //Rib width
68  std::vector<double> ribPhi; //Rib Phi position
69 
70  int dohmN; //Number of phi sectors for DOHMs
71  std::vector<double> dohmList; //List of DOHMs
72  double dohmCarrierW; //DOHM Carrier Width
73  double dohmCarrierT; //DOHM Carrier Thickness
74  double dohmCarrierR; //DOHM Carrier Radial Height
75  std::string dohmCarrierMaterial; //DOHM Carrier Material
76  std::string dohmCableMaterial; //DOHM Cable Material
77  double dohmPrimW; //DOHM PRIMary Width
78  double dohmPrimL; //DOHM PRIMary Length
79  double dohmPrimT; //DOHM PRIMary Thickness
80  std::string dohmPrimMaterial; //DOHM PRIMary Material
81  double dohmAuxW; //DOHM AUXiliary Width
82  double dohmAuxL; //DOHM AUXiliary Length
83  double dohmAuxT; //DOHM AUXiliary Thickness
84  std::string dohmAuxMaterial; //DOHM AUXiliary Material
85 };
86 
87 #endif
std::string dohmCarrierMaterial
std::vector< double > stringUpList
std::vector< double > dohmList
std::vector< double > ribW
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:80
void initialize(const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs) override
std::vector< double > ribPhi
void execute(DDCompactView &cpv) override
std::vector< double > stringLoList