CMS 3D CMS Logo

DDTIBLayerAlgo.h
Go to the documentation of this file.
1 #ifndef DD_TIBLayerAlgo_h
2 #define DD_TIBLayerAlgo_h
3 
4 #include <map>
5 #include <string>
6 #include <vector>
9 
10 class DDTIBLayerAlgo : public DDAlgorithm {
11  public:
12  //Constructor and Destructor
13  DDTIBLayerAlgo();
14  ~DDTIBLayerAlgo() 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 
31  double radiusLo; //Radius for detector at lower level
32  double phioffLo; //Phi offset ......
33  int stringsLo; //Number of strings ......
34  std::string detectorLo; //Detector string name ......
35 
36  double radiusUp; //Radius for detector at upper level
37  double phioffUp; //Phi offset ......
38  int stringsUp; //Number of strings ......
39  std::string detectorUp; //Detector string name ......
40 
41  double cylinderT; //Cylinder thickness
42  double cylinderInR; //Cylinder inner radius
43  std::string cylinderMat; //Cylinder material
44  double MFRingInR; //Inner Manifold Ring Inner Radius
45  double MFRingOutR; //Outer Manifold Ring Outer Radius
46  double MFRingT; //Manifold Ring Thickness
47  double MFRingDz; //Manifold Ring Half Lenght
48  std::string MFIntRingMat; //Manifold Ring Material
49  std::string MFExtRingMat; //Manifold Ring Material
50 
51  double supportT; //Cylinder barrel CF skin thickness
52 
53  std::string centMat; //Central rings material
54  std::vector<double> centRing1par; //Central rings parameters
55  std::vector<double> centRing2par; //Central rings parameters
56 
57  std::string fillerMat; //Filler material
58  double fillerDz; //Filler Half Length
59 
60  std::string ribMat; //Rib material
61  std::vector<double> ribW; //Rib width
62  std::vector<double> ribPhi; //Rib Phi position
63 
64  std::vector<double> dohmListFW; //DOHM/AUX positions in #strings FW
65  std::vector<double> dohmListBW; //DOHM/AUX positions in #strings BW
66 
67  double dohmtoMF; //DOHM Distance to MF
68  double dohmCarrierPhiOff; //DOHM Carrier Phi offset wrt horizontal
69  std::string dohmPrimName; //DOHM Primary Logical Volume name
70  std::string dohmAuxName; //DOHM Auxiliary Logical Volume name
71 
72  std::string dohmCarrierMaterial;//DOHM Carrier Material
73  std::string dohmCableMaterial; //DOHM Cable Material
74  double dohmPrimL; //DOHM PRIMary Length
75  std::string dohmPrimMaterial; //DOHM PRIMary Material
76  double dohmAuxL; //DOHM AUXiliary Length
77  std::string dohmAuxMaterial; //DOHM AUXiliary Material
78 
79  std::string pillarMaterial; //Pillar Material
80 
81  double fwIntPillarDz; //Internal pillar parameters
83  std::vector<double> fwIntPillarZ;
84  std::vector<double> fwIntPillarPhi;
85  double bwIntPillarDz;
87  std::vector<double> bwIntPillarZ;
88  std::vector<double> bwIntPillarPhi;
89 
90  double fwExtPillarDz; //External pillar parameters
92  std::vector<double> fwExtPillarZ;
93  std::vector<double> fwExtPillarPhi;
94  double bwExtPillarDz;
96  std::vector<double> bwExtPillarZ;
97  std::vector<double> bwExtPillarPhi;
98 };
99 
100 #endif
void initialize(const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs) override
double fwExtPillarDz
std::vector< double > centRing2par
std::vector< double > bwIntPillarPhi
std::vector< double > dohmListFW
std::string detectorUp
std::string dohmAuxMaterial
std::string MFIntRingMat
std::vector< double > fwIntPillarPhi
std::vector< double > fwIntPillarZ
double fwIntPillarDz
std::vector< double > bwExtPillarZ
std::string cylinderMat
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:80
~DDTIBLayerAlgo() override
std::string fillerMat
std::string centMat
std::string dohmPrimName
std::string genMat
double dohmCarrierPhiOff
void execute(DDCompactView &cpv) override
std::vector< double > centRing1par
std::string ribMat
std::vector< double > fwExtPillarPhi
std::string MFExtRingMat
std::vector< double > bwIntPillarZ
std::string idNameSpace
double bwExtPillarDPhi
std::vector< double > bwExtPillarPhi
double fwExtPillarDPhi
std::vector< double > ribPhi
std::vector< double > dohmListBW
std::string pillarMaterial
std::string dohmCableMaterial
std::string dohmAuxName
std::string dohmPrimMaterial
std::string detectorLo
std::vector< double > ribW
double fwIntPillarDPhi
double bwIntPillarDz
std::vector< double > fwExtPillarZ
double bwIntPillarDPhi
double bwExtPillarDz
std::string dohmCarrierMaterial