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 
26  std::string idNameSpace; //Namespace of this and ALL parts
27  std::string genMat; //General material name
28  double detectorTilt; //Detector Tilt
29  double layerL; //Length of the layer
30  double detectorTol; //Tolerance
31  double detectorW; //Width of detector layer
32  double detectorT; //Thickness .........
33  double coolTubeW; //Width of layer with cable+cool
34  double coolTubeT; //Thickness .........
35 
36  double radiusLo; //Radius for detector at lower level
37  double phioffLo; //Phi offset ......
38  double phiMinLo; //Phi minimum ......
39  double phiMaxLo; //Phi maximum ......
40  int stringsLo; //Number of strings ......
41  std::vector<double> stringLoList; //List of strings to fill ......
42  std::string detectorLo; //Detector string name ......
43  std::string emptyDetectorLo; //Empty Detector string name ......
44  double roffDetLo; //Radial offset ......
45  std::string coolCableLo; //Cable+Cool name ......
46  std::string emptyCoolCableLo; //Empty Cable+Cool name ......
47  double roffCableLo; //Radial offset ......
48 
49  double radiusUp; //Radius for detector at upper level
50  double phioffUp; //Phi offset ......
51  double phiMinUp; //Phi minimum ......
52  double phiMaxUp; //Phi maximum ......
53  int stringsUp; //Number of strings ......
54  std::vector<double> stringUpList; //List of strings to fill ......
55  std::string detectorUp; //Detector string name ......
56  std::string emptyDetectorUp; //Empty Detector string name ......
57  double roffDetUp; //Radial offset ......
58  std::string coolCableUp; //Cable+Cool name ......
59  std::string emptyCoolCableUp; //Empty Cable+Cool name ......
60  double roffCableUp; //Radial offset ......
61 
62  double cylinderT; //Cylinder thickness
63  std::string cylinderMat; //Cylinder material
64  double supportW; //Support wall width
65  double supportT; //Support wall thickness
66  std::string supportMat; //Support wall material
67  std::string ribMat; //Rib material
68  std::vector<double> ribW; //Rib width
69  std::vector<double> ribPhi; //Rib Phi position
70 
71  int dohmN; //Number of phi sectors for DOHMs
72  std::vector<double> dohmList; //List of DOHMs
73  double dohmCarrierW; //DOHM Carrier Width
74  double dohmCarrierT; //DOHM Carrier Thickness
75  double dohmCarrierR; //DOHM Carrier Radial Height
76  std::string dohmCarrierMaterial;//DOHM Carrier Material
77  std::string dohmCableMaterial; //DOHM Cable Material
78  double dohmPrimW; //DOHM PRIMary Width
79  double dohmPrimL; //DOHM PRIMary Length
80  double dohmPrimT; //DOHM PRIMary Thickness
81  std::string dohmPrimMaterial; //DOHM PRIMary Material
82  double dohmAuxW; //DOHM AUXiliary Width
83  double dohmAuxL; //DOHM AUXiliary Length
84  double dohmAuxT; //DOHM AUXiliary Thickness
85  std::string dohmAuxMaterial; //DOHM AUXiliary Material
86 
87 };
88 
89 #endif
std::string dohmCarrierMaterial
std::vector< double > stringUpList
std::vector< double > dohmList
std::vector< double > ribW
type of data representation of DDCompactView
Definition: DDCompactView.h:90
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