CMS 3D CMS Logo

DDEcalBarrelNewAlgo.h
Go to the documentation of this file.
1 #ifndef DD_EcalBarrelNewAlgo_h
2 #define DD_EcalBarrelNewAlgo_h
3 
4 #include <map>
5 #include <string>
6 #include <vector>
14 #include "CLHEP/Geometry/Transform3D.h"
15 
16 class DDEcalBarrelNewAlgo : public DDAlgorithm {
17  public:
18 
20  typedef HepGeom::Point3D<double> Pt3D ;
21  typedef HepGeom::Transform3D Tf3D ;
22  typedef HepGeom::ReflectZ3D RfZ3D ;
23  typedef HepGeom::Translate3D Tl3D ;
24  typedef HepGeom::Rotate3D Ro3D ;
25  typedef HepGeom::RotateZ3D RoZ3D ;
26  typedef HepGeom::RotateY3D RoY3D ;
27  typedef HepGeom::RotateX3D RoX3D ;
28 
29  typedef CLHEP::Hep3Vector Vec3 ;
30  typedef CLHEP::HepRotation Rota ;
31 
32  //Constructor and Destructor
34  ~DDEcalBarrelNewAlgo() override;
35 
36  void initialize(const DDNumericArguments & nArgs,
37  const DDVectorArguments & vArgs,
38  const DDMapArguments & mArgs,
39  const DDStringArguments & sArgs,
40  const DDStringVectorArguments & vsArgs) override;
41  void execute(DDCompactView& cpv) override;
42 
43  DDMaterial ddmat( const std::string& s ) const ;
44  DDName ddname( const std::string& s ) const ;
45  DDRotation myrot( const std::string& s,
46  const CLHEP::HepRotation& r ) const ;
47  DDSolid mytrap( const std::string& s,
48  const Trap& t ) const ;
49 
50  const std::string& idNameSpace() const { return m_idNameSpace ; }
51 
52  // barrel parent volume
53  DDName barName() const { return ddname( m_BarName ) ; }
54  DDMaterial barMat() const { return ddmat( m_BarMat ) ; }
55  const std::vector<double>& vecBarZPts() const { return m_vecBarZPts ; }
56  const std::vector<double>& vecBarRMin() const { return m_vecBarRMin ; }
57  const std::vector<double>& vecBarRMax() const { return m_vecBarRMax ; }
58  const std::vector<double>& vecBarTran() const { return m_vecBarTran ; }
59  const std::vector<double>& vecBarRota() const { return m_vecBarRota ; }
60  const std::vector<double>& vecBarRota2() const { return m_vecBarRota2 ; }
61  const std::vector<double>& vecBarRota3() const { return m_vecBarRota3 ; }
62  double barPhiLo() const { return m_BarPhiLo ; }
63  double barPhiHi() const { return m_BarPhiHi ; }
64  double barHere() const { return m_BarHere ; }
65 
66  DDName spmName() const { return ddname( m_SpmName ) ; }
67  DDMaterial spmMat() const { return ddmat( m_SpmMat ) ; }
68  const std::vector<double>& vecSpmZPts() const { return m_vecSpmZPts ; }
69  const std::vector<double>& vecSpmRMin() const { return m_vecSpmRMin ; }
70  const std::vector<double>& vecSpmRMax() const { return m_vecSpmRMax ; }
71  const std::vector<double>& vecSpmTran() const { return m_vecSpmTran ; }
72  const std::vector<double>& vecSpmRota() const { return m_vecSpmRota ; }
73  const std::vector<double>& vecSpmBTran() const { return m_vecSpmBTran ; }
74  const std::vector<double>& vecSpmBRota() const { return m_vecSpmBRota ; }
75  unsigned int spmNPerHalf() const { return m_SpmNPerHalf ; }
76  double spmLowPhi() const { return m_SpmLowPhi ; }
77  double spmDelPhi() const { return m_SpmDelPhi ; }
78  double spmPhiOff() const { return m_SpmPhiOff ; }
79  const std::vector<double>& vecSpmHere() const { return m_vecSpmHere ; }
80  DDName spmCutName() const { return ddname( m_SpmCutName ) ; }
81  double spmCutThick() const { return m_SpmCutThick ; }
82  int spmCutShow() const { return m_SpmCutShow ; }
83  double spmCutRM() const { return m_SpmCutRM ; }
84  double spmCutRP() const { return m_SpmCutRP ; }
85  const std::vector<double>& vecSpmCutTM() const { return m_vecSpmCutTM ; }
86  const std::vector<double>& vecSpmCutTP() const { return m_vecSpmCutTP ; }
87  double spmExpThick() const { return m_SpmExpThick ; }
88  double spmExpWide() const { return m_SpmExpWide ; }
89  double spmExpYOff() const { return m_SpmExpYOff ; }
90  DDName spmSideName() const { return ddname( m_SpmSideName ) ; }
91  DDMaterial spmSideMat() const { return ddmat( m_SpmSideMat ) ; }
92  double spmSideHigh() const { return m_SpmSideHigh ; }
93  double spmSideThick() const { return m_SpmSideThick ; }
94  double spmSideYOffM() const { return m_SpmSideYOffM ; }
95  double spmSideYOffP() const { return m_SpmSideYOffP ; }
96 
97  double nomCryDimAF() const { return m_NomCryDimAF ; }
98  double nomCryDimLZ() const { return m_NomCryDimLZ ; }
99  const std::vector<double>& vecNomCryDimBF() const { return m_vecNomCryDimBF ; }
100  const std::vector<double>& vecNomCryDimCF() const { return m_vecNomCryDimCF ; }
101  const std::vector<double>& vecNomCryDimAR() const { return m_vecNomCryDimAR ; }
102  const std::vector<double>& vecNomCryDimBR() const { return m_vecNomCryDimBR ; }
103  const std::vector<double>& vecNomCryDimCR() const { return m_vecNomCryDimCR ; }
104 
105  double underAF() const { return m_UnderAF ; }
106  double underLZ() const { return m_UnderLZ ; }
107  double underBF() const { return m_UnderBF ; }
108  double underCF() const { return m_UnderCF ; }
109  double underAR() const { return m_UnderAR ; }
110  double underBR() const { return m_UnderBR ; }
111  double underCR() const { return m_UnderCR ; }
112 
113  double wallThAlv() const { return m_WallThAlv ; }
114  double wrapThAlv() const { return m_WrapThAlv ; }
115  double clrThAlv() const { return m_ClrThAlv ; }
116  const std::vector<double>& vecGapAlvEta() const { return m_vecGapAlvEta ; }
117 
118  double wallFrAlv() const { return m_WallFrAlv ; }
119  double wrapFrAlv() const { return m_WrapFrAlv ; }
120  double clrFrAlv() const { return m_ClrFrAlv ; }
121 
122  double wallReAlv() const { return m_WallReAlv ; }
123  double wrapReAlv() const { return m_WrapReAlv ; }
124  double clrReAlv() const { return m_ClrReAlv ; }
125 
126  unsigned int nCryTypes() const { return m_NCryTypes ; }
127  unsigned int nCryPerAlvEta() const { return m_NCryPerAlvEta ; }
128 
129  const std::string& cryName() const { return m_CryName ; }
130  const std::string& clrName() const { return m_ClrName ; }
131  const std::string& wrapName() const { return m_WrapName ; }
132  const std::string& wallName() const { return m_WallName ; }
133 
134  DDMaterial cryMat() const { return ddmat( m_CryMat ) ; }
135  DDMaterial clrMat() const { return ddmat( m_ClrMat ) ; }
136  DDMaterial wrapMat() const { return ddmat( m_WrapMat ) ; }
137  DDMaterial wallMat() const { return ddmat( m_WallMat ) ; }
138  DDName capName () const { return ddname(m_capName) ; }
139  double capHere () const { return m_capHere ; }
140  DDMaterial capMat () const { return ddmat(m_capMat) ; }
141  double capXSize() const { return m_capXSize ; }
142  double capYSize() const { return m_capYSize ; }
143  double capThick() const { return m_capThick; }
144 
145  DDName cerName () const { return ddname(m_CERName) ; }
146  DDMaterial cerMat () const { return ddmat(m_CERMat) ; }
147  double cerXSize() const { return m_CERXSize ; }
148  double cerYSize() const { return m_CERYSize ; }
149  double cerThick() const { return m_CERThick; }
150 
151  DDName bsiName () const { return ddname(m_BSiName) ; }
152  DDMaterial bsiMat () const { return ddmat(m_BSiMat) ; }
153  double bsiXSize() const { return m_BSiXSize ; }
154  double bsiYSize() const { return m_BSiYSize ; }
155  double bsiThick() const { return m_BSiThick; }
156 
157  DDName atjName () const { return ddname(m_ATJName) ; }
158  DDMaterial atjMat () const { return ddmat(m_ATJMat) ; }
159  double atjThick() const { return m_ATJThick; }
160 
161  DDName sglName () const { return ddname(m_SGLName) ; }
162  DDMaterial sglMat () const { return ddmat(m_SGLMat) ; }
163  double sglThick() const { return m_SGLThick; }
164 
165  DDName aglName () const { return ddname(m_AGLName) ; }
166  DDMaterial aglMat () const { return ddmat(m_AGLMat) ; }
167  double aglThick() const { return m_AGLThick; }
168 
169  DDName andName () const { return ddname(m_ANDName) ; }
170  DDMaterial andMat () const { return ddmat(m_ANDMat) ; }
171  double andThick() const { return m_ANDThick; }
172 
173  DDName apdName () const { return ddname(m_APDName) ; }
174  DDMaterial apdMat () const { return ddmat(m_APDMat) ; }
175  double apdSide () const { return m_APDSide ; }
176  double apdThick() const { return m_APDThick; }
177  double apdZ () const { return m_APDZ ; }
178  double apdX1 () const { return m_APDX1 ; }
179  double apdX2 () const { return m_APDX2 ; }
180 
181  double webHere() const { return m_WebHere ; }
182  const std::string& webPlName() const { return m_WebPlName ; }
183  const std::string& webClrName() const { return m_WebClrName ; }
184  DDMaterial webPlMat() const { return ddmat( m_WebPlMat ) ; }
185  DDMaterial webClrMat() const { return ddmat( m_WebClrMat ) ; }
186  const std::vector<double>& vecWebPlTh() const { return m_vecWebPlTh ; }
187  const std::vector<double>& vecWebClrTh() const { return m_vecWebClrTh ; }
188  const std::vector<double>& vecWebLength() const { return m_vecWebLength ; }
189 
190  double ilyHere() const { return m_IlyHere ; }
191  const std::string& ilyName() const { return m_IlyName ; }
192  double ilyPhiLow() const { return m_IlyPhiLow ; }
193  double ilyDelPhi() const { return m_IlyDelPhi ; }
194  const std::vector<std::string>& vecIlyMat() const { return m_vecIlyMat ; }
195  const std::vector<double>& vecIlyThick() const { return m_vecIlyThick ; }
196 
197  const std::string& ilyPipeName () const { return m_IlyPipeName ;}
198  double ilyPipeHere () const { return m_IlyPipeHere ;}
199  DDMaterial ilyPipeMat () const { return ddmat(m_IlyPipeMat) ;}
200  double ilyPipeOD () const { return m_IlyPipeOD ;}
201  double ilyPipeID () const { return m_IlyPipeID ;}
202  const std::vector<double>& vecIlyPipeLength() const { return m_vecIlyPipeLength ;}
203  const std::vector<double>& vecIlyPipeType () const { return m_vecIlyPipeType ;}
204  const std::vector<double>& vecIlyPipePhi () const { return m_vecIlyPipePhi ;}
205  const std::vector<double>& vecIlyPipeZ () const { return m_vecIlyPipeZ ;}
206 
207  DDName ilyPTMName () const { return ddname(m_IlyPTMName) ;}
208  double ilyPTMHere () const { return m_IlyPTMHere ;}
209  DDMaterial ilyPTMMat () const { return ddmat(m_IlyPTMMat) ;}
210  double ilyPTMWidth () const { return m_IlyPTMWidth ;}
211  double ilyPTMLength () const { return m_IlyPTMLength ;}
212  double ilyPTMHeight () const { return m_IlyPTMHeight ;}
213  const std::vector<double>& vecIlyPTMZ () const { return m_vecIlyPTMZ ;}
214  const std::vector<double>& vecIlyPTMPhi () const { return m_vecIlyPTMPhi ;}
215 
217  double ilyFanOutHere () const { return m_IlyFanOutHere ;}
219  double ilyFanOutWidth () const { return m_IlyFanOutWidth ;}
220  double ilyFanOutLength() const { return m_IlyFanOutLength;}
221  double ilyFanOutHeight() const { return m_IlyFanOutHeight;}
222  const std::vector<double>& vecIlyFanOutZ () const { return m_vecIlyFanOutZ ;}
223  const std::vector<double>& vecIlyFanOutPhi() const { return m_vecIlyFanOutPhi;}
224  DDName ilyDiffName () const { return ddname(m_IlyDiffName) ;}
225  DDMaterial ilyDiffMat () const { return ddmat(m_IlyDiffMat) ;}
226  double ilyDiffOff () const { return m_IlyDiffOff ;}
227  double ilyDiffLength () const { return m_IlyDiffLength ;}
228  DDName ilyBndlName () const { return ddname(m_IlyBndlName) ;}
229  DDMaterial ilyBndlMat () const { return ddmat(m_IlyBndlMat) ;}
230  double ilyBndlOff () const { return m_IlyBndlOff ;}
231  double ilyBndlLength () const { return m_IlyBndlLength ;}
232  DDName ilyFEMName () const { return ddname(m_IlyFEMName) ;}
233  DDMaterial ilyFEMMat () const { return ddmat(m_IlyFEMMat) ;}
234  double ilyFEMWidth () const { return m_IlyFEMWidth ;}
235  double ilyFEMLength () const { return m_IlyFEMLength ;}
236  double ilyFEMHeight () const { return m_IlyFEMHeight ;}
237  const std::vector<double>& vecIlyFEMZ () const { return m_vecIlyFEMZ ;}
238  const std::vector<double>& vecIlyFEMPhi () const { return m_vecIlyFEMPhi ;}
239 
240  DDName hawRName() const { return ddname( m_HawRName ) ; }
241  DDName fawName() const { return ddname( m_FawName ) ; }
242  double fawHere( ) const { return m_FawHere ; }
243  double hawRHBIG() const { return m_HawRHBIG ; }
244  double hawRhsml() const { return m_HawRhsml ; }
245  double hawRCutY() const { return m_HawRCutY ; }
246  double hawRCutZ() const { return m_HawRCutZ ; }
247  double hawRCutDelY() const { return m_HawRCutDelY ; }
248  double hawYOffCry() const { return m_HawYOffCry ; }
249 
250  unsigned int nFawPerSupm() const { return m_NFawPerSupm ; }
251  double fawPhiOff() const { return m_FawPhiOff ; }
252  double fawDelPhi() const { return m_FawDelPhi ; }
253  double fawPhiRot() const { return m_FawPhiRot ; }
254  double fawRadOff() const { return m_FawRadOff ; }
255 
256  double gridHere() const { return m_GridHere ; }
257  DDName gridName() const { return ddname( m_GridName ) ; }
258  DDMaterial gridMat() const { return ddmat( m_GridMat ) ; }
259  double gridThick() const { return m_GridThick ; }
260 
261  double backHere() const { return m_BackHere ; }
262  double backXOff() const { return m_BackXOff ; }
263  double backYOff() const { return m_BackYOff ; }
264  DDName backSideName() const { return ddname( m_BackSideName ) ; }
265  double backSideHere() const { return m_BackSideHere ; }
266  double backSideLength() const { return m_BackSideLength ; }
267  double backSideHeight() const { return m_BackSideHeight ; }
268  double backSideWidth() const { return m_BackSideWidth ; }
269  double backSideYOff1() const { return m_BackSideYOff1 ; }
270  double backSideYOff2() const { return m_BackSideYOff2 ; }
271  double backSideAngle() const { return m_BackSideAngle ; }
272  DDMaterial backSideMat() const { return ddmat( m_BackSideMat ) ; }
273  DDName backPlateName() const { return ddname( m_BackPlateName ) ; }
274  double backPlateHere() const { return m_BackPlateHere ; }
275  double backPlateLength() const { return m_BackPlateLength ; }
276  double backPlateThick() const { return m_BackPlateThick ; }
277  double backPlateWidth() const { return m_BackPlateWidth ; }
278  DDMaterial backPlateMat() const { return ddmat( m_BackPlateMat ) ; }
280  double backPlate2Thick() const { return m_BackPlate2Thick ; }
282  const std::string& grilleName() const { return m_GrilleName ; }
283  double grilleThick() const { return m_GrilleThick ; }
284  double grilleHere() const { return m_GrilleHere ; }
285  double grilleWidth() const { return m_GrilleWidth ; }
286  double grilleZSpace() const { return m_GrilleZSpace ; }
287  DDMaterial grilleMat() const { return ddmat( m_GrilleMat ) ; }
288  const std::vector<double>& vecGrilleHeight() const { return m_vecGrilleHeight ; }
289  const std::vector<double>& vecGrilleZOff() const { return m_vecGrilleZOff ; }
290 
293  double grEdgeSlotHere () const { return m_GrEdgeSlotHere ; }
294  double grEdgeSlotHeight () const { return m_GrEdgeSlotHeight ; }
295  double grEdgeSlotWidth () const { return m_GrEdgeSlotWidth ; }
296  const std::string& grMidSlotName () const { return m_GrMidSlotName ; }
298  double grMidSlotHere () const { return m_GrMidSlotHere ; }
299  double grMidSlotWidth () const { return m_GrMidSlotWidth ; }
300  double grMidSlotXOff () const { return m_GrMidSlotXOff ; }
301  const std::vector<double>& vecGrMidSlotHeight() const { return m_vecGrMidSlotHeight; }
302 
303  double backPipeHere() const { return m_BackPipeHere ; }
304  const std::string& backPipeName() const { return m_BackPipeName ; }
305  const std::vector<double>& vecBackPipeDiam() const { return m_vecBackPipeDiam ; }
306  const std::vector<double>& vecBackPipeThick() const { return m_vecBackPipeThick ; }
307  DDMaterial backPipeMat() const { return ddmat( m_BackPipeMat ) ; }
309  double backMiscHere() const { return m_BackMiscHere ; }
310  const std::vector<double>& vecBackMiscThick() const { return m_vecBackMiscThick ; }
311  const std::vector<std::string>& vecBackMiscName() const
312  { return m_vecBackMiscName ; }
313  const std::vector<std::string>& vecBackMiscMat() const
314  { return m_vecBackMiscMat ; }
315  double patchPanelHere() const { return m_PatchPanelHere ; }
316  const std::vector<double>& vecPatchPanelThick() const { return m_vecPatchPanelThick ; }
317  const std::vector<std::string>& vecPatchPanelNames() const
318  { return m_vecPatchPanelNames ; }
319  const std::vector<std::string>& vecPatchPanelMat() const
320  { return m_vecPatchPanelMat ; }
322 
323  const std::vector<std::string>& vecBackCoolName() const { return m_vecBackCoolName ;}
324  double backCoolHere() const { return m_BackCoolHere ; }
325  double backCoolBarWidth () const { return m_BackCoolBarWidth ;}
326  double backCoolBarHeight () const { return m_BackCoolBarHeight ;}
328  double backCoolBarHere() const { return m_BackCoolBarHere ; }
330  double backCoolBarThick () const { return m_BackCoolBarThick ;}
333  double backCoolBarSSThick() const { return m_BackCoolBarSSThick ;}
336  double backCoolBarWaThick() const { return m_BackCoolBarWaThick ;}
338  double backCoolVFEHere() const { return m_BackCoolVFEHere ; }
341  DDName backVFEName () const { return ddname(m_BackVFEName) ;}
342  DDMaterial backVFEMat () const { return ddmat(m_BackVFEMat) ;}
343  const std::vector<double>& vecBackVFELyrThick() const { return m_vecBackVFELyrThick ;}
344  const std::vector<std::string>& vecBackVFELyrName () const { return m_vecBackVFELyrName ;}
345  const std::vector<std::string>& vecBackVFELyrMat () const { return m_vecBackVFELyrMat ;}
346  const std::vector<double>& vecBackCoolNSec () const { return m_vecBackCoolNSec ;}
347  const std::vector<double>& vecBackCoolSecSep () const { return m_vecBackCoolSecSep ;}
348  const std::vector<double>& vecBackCoolNPerSec() const { return m_vecBackCoolNPerSec ;}
349  double backCBStdSep () const { return m_BackCBStdSep ;}
350 
351  double backCoolTankHere() const { return m_BackCoolTankHere ; }
352  const std::string& backCoolTankName () const { return m_BackCoolTankName ;}
353  double backCoolTankWidth () const { return m_BackCoolTankWidth ;}
354  double backCoolTankThick () const { return m_BackCoolTankThick ;}
357  double backCoolTankWaWidth() const { return m_BackCoolTankWaWidth;}
359  const std::string& backBracketName () const { return m_BackBracketName ;}
360  double backBracketHeight () const { return m_BackBracketHeight ;}
362 
363  double dryAirTubeHere() const { return m_DryAirTubeHere ; }
364  const std::string& dryAirTubeName () const { return m_DryAirTubeName ;}
365  double mBCoolTubeNum () const { return m_MBCoolTubeNum ;}
366  double dryAirTubeInnDiam () const { return m_DryAirTubeInnDiam ;}
367  double dryAirTubeOutDiam () const { return m_DryAirTubeOutDiam ;}
369  double mBCoolTubeHere() const { return m_MBCoolTubeHere ; }
370  const std::string& mBCoolTubeName () const { return m_MBCoolTubeName ;}
371  double mBCoolTubeInnDiam () const { return m_MBCoolTubeInnDiam ;}
372  double mBCoolTubeOutDiam () const { return m_MBCoolTubeOutDiam ;}
374  double mBManifHere() const { return m_MBManifHere ; }
375  DDName mBManifName () const { return ddname(m_MBManifName) ;}
376  double mBManifInnDiam () const { return m_MBManifInnDiam ;}
377  double mBManifOutDiam () const { return m_MBManifOutDiam ;}
378  DDMaterial mBManifMat () const { return ddmat(m_MBManifMat) ;}
379  double mBLyrHere() const { return m_MBLyrHere ; }
380  const std::vector<double>& vecMBLyrThick() const { return m_vecMBLyrThick ;}
381  const std::vector<std::string>& vecMBLyrName () const { return m_vecMBLyrName ;}
382  const std::vector<std::string>& vecMBLyrMat () const { return m_vecMBLyrMat ;}
383 
384 //----------
385 
386  double pincerRodHere () const { return m_PincerRodHere ;}
389  std::vector<double> vecPincerRodAzimuth() const { return m_vecPincerRodAzimuth;}
392  double pincerEnvWidth () const { return m_PincerEnvWidth ;}
393  double pincerEnvHeight () const { return m_PincerEnvHeight ;}
394  double pincerEnvLength () const { return m_PincerEnvLength ;}
395  std::vector<double> vecPincerEnvZOff () const { return m_vecPincerEnvZOff ;}
396 
399  double pincerBlkLength () const { return m_PincerBlkLength ;}
400 
402  double pincerShimHeight () const { return m_PincerShimHeight ;}
405  double pincerShim1Width () const { return m_PincerShim1Width ;}
406  double pincerShim2Width () const { return m_PincerShim2Width ;}
407 
410  double pincerCutWidth () const { return m_PincerCutWidth ;}
411  double pincerCutHeight () const { return m_PincerCutHeight ;}
412 
413 protected:
414 
415 private:
416 
417  void web( unsigned int iWeb,
418  double bWeb,
419  double BWeb,
420  double LWeb,
421  double theta,
422  const Pt3D& corner,
423  const DDLogicalPart& logPar,
424  double& zee ,
425  double side,
426  double front,
427  double delta,
428  DDCompactView& cpv );
429 
430  std::string m_idNameSpace; //Namespace of this and ALL sub-parts
431 
432  // Barrel volume
433  std::string m_BarName ; // Barrel volume name
434  std::string m_BarMat ; // Barrel material name
435  std::vector<double> m_vecBarZPts ; // Barrel list of z pts
436  std::vector<double> m_vecBarRMin ; // Barrel list of rMin pts
437  std::vector<double> m_vecBarRMax ; // Barrel list of rMax pts
438  std::vector<double> m_vecBarTran ; // Barrel translation
439  std::vector<double> m_vecBarRota ; // Barrel rotation
440  std::vector<double> m_vecBarRota2; // 2nd Barrel rotation
441  std::vector<double> m_vecBarRota3; // 2nd Barrel rotation
442  double m_BarPhiLo ; // Barrel phi lo
443  double m_BarPhiHi ; // Barrel phi hi
444  double m_BarHere ; // Barrel presence flag
445 
446  // Supermodule volume
447  std::string m_SpmName ; // Supermodule volume name
448  std::string m_SpmMat ; // Supermodule material name
449  std::vector<double> m_vecSpmZPts ; // Supermodule list of z pts
450  std::vector<double> m_vecSpmRMin ; // Supermodule list of rMin pts
451  std::vector<double> m_vecSpmRMax ; // Supermodule list of rMax pts
452  std::vector<double> m_vecSpmTran ; // Supermodule translation
453  std::vector<double> m_vecSpmRota ; // Supermodule rotation
454  std::vector<double> m_vecSpmBTran ; // Base Supermodule translation
455  std::vector<double> m_vecSpmBRota ; // Base Supermodule rotation
456  unsigned int m_SpmNPerHalf ; // # Supermodules per half detector
457  double m_SpmLowPhi ; // Low phi value of base supermodule
458  double m_SpmDelPhi ; // Delta phi value of base supermodule
459  double m_SpmPhiOff ; // Phi offset value supermodule
460  std::vector<double> m_vecSpmHere ; // Bit saying if a supermodule is present or not
461  std::string m_SpmCutName ; // Name of cut box
462  double m_SpmCutThick ; // Box thickness
463  int m_SpmCutShow ; // Non-zero means show the box on display (testing only)
464  std::vector<double> m_vecSpmCutTM ; // Translation for minus phi cut box
465  std::vector<double> m_vecSpmCutTP ; // Translation for plus phi cut box
466  double m_SpmCutRM ; // Rotation for minus phi cut box
467  double m_SpmCutRP ; // Rotation for plus phi cut box
468  double m_SpmExpThick ; // Thickness (x) of supermodule expansion box
469  double m_SpmExpWide ; // Width (y) of supermodule expansion box
470  double m_SpmExpYOff ; // Offset (y) of supermodule expansion box
471  std::string m_SpmSideName ; // Supermodule Side Plate volume name
472  std::string m_SpmSideMat ; // Supermodule Side Plate material name
473  double m_SpmSideHigh ; // Side plate height
474  double m_SpmSideThick; // Side plate thickness
475  double m_SpmSideYOffM; // Side plate Y offset on minus phi side
476  double m_SpmSideYOffP; // Side plate Y offset on plus phi side
477 
478  double m_NomCryDimAF ; // Nominal crystal AF
479  double m_NomCryDimLZ ; // Nominal crystal LZ
480  std::vector<double> m_vecNomCryDimBF ; // Nominal crystal BF
481  std::vector<double> m_vecNomCryDimCF ; // Nominal crystal CF
482  std::vector<double> m_vecNomCryDimAR ; // Nominal crystal AR
483  std::vector<double> m_vecNomCryDimBR ; // Nominal crystal BR
484  std::vector<double> m_vecNomCryDimCR ; // Nominal crystal CR
485 
486  double m_UnderAF ; // undershoot of AF
487  double m_UnderLZ ; // undershoot of LZ
488  double m_UnderBF ; // undershoot of BF
489  double m_UnderCF ; // undershoot of CF
490  double m_UnderAR ; // undershoot of AR
491  double m_UnderBR ; // undershoot of BR
492  double m_UnderCR ; // undershoot of CR
493 
494  double m_WallThAlv ; // alveoli wall thickness
495  double m_WrapThAlv ; // wrapping thickness
496  double m_ClrThAlv ; // clearance thickness (nominal)
497  std::vector<double> m_vecGapAlvEta ; // Extra clearance after each alveoli perp to crystal axis
498 
499  double m_WallFrAlv ; // alveoli wall frontage
500  double m_WrapFrAlv ; // wrapping frontage
501  double m_ClrFrAlv ; // clearance frontage (nominal)
502 
503  double m_WallReAlv ; // alveoli wall rearage
504  double m_WrapReAlv ; // wrapping rearage
505  double m_ClrReAlv ; // clearance rearage (nominal)
506 
507  unsigned int m_NCryTypes ; // number of crystal shapes
508  unsigned int m_NCryPerAlvEta ; // number of crystals in eta per alveolus
509 
510  std::string m_CryName ; // string name of crystal volume
511  std::string m_ClrName ; // string name of clearance volume
512  std::string m_WrapName ; // string name of wrap volume
513  std::string m_WallName ; // string name of wall volume
514 
515  std::string m_CryMat ; // string name of crystal material
516  std::string m_ClrMat ; // string name of clearance material
517  std::string m_WrapMat ; // string name of wrap material
518  std::string m_WallMat ; // string name of wall material
519 
520  std::string m_capName ; // Capsule
521  double m_capHere ; //
523  double m_capXSize ; //
524  double m_capYSize ; //
525  double m_capThick ; //
526 
527  std::string m_CERName ; // Ceramic
529  double m_CERXSize ; //
530  double m_CERYSize ; //
531  double m_CERThick ; //
532 
533  std::string m_BSiName ; // Bulk Silicon
535  double m_BSiXSize ; //
536  double m_BSiYSize ; //
537  double m_BSiThick ; //
538 
541  double m_APDSide ; //
542  double m_APDThick ; //
543  double m_APDZ ; //
544  double m_APDX1 ; //
545  double m_APDX2 ; //
546 
547  std::string m_ATJName ; // After-The-Junction
549  double m_ATJThick ; //
550 
551  std::string m_SGLName ; // APD-Silicone glue
553  double m_SGLThick ; //
554 
555  std::string m_AGLName ; // APD-Glue
557  double m_AGLThick ; //
558 
559  std::string m_ANDName ; // APD-Non-Depleted
561  double m_ANDThick ; //
562 
563  double m_WebHere ; // here flag
564  std::string m_WebPlName ; // string name of web plate volume
565  std::string m_WebClrName ; // string name of web clearance volume
566  std::string m_WebPlMat ; // string name of web material
567  std::string m_WebClrMat ; // string name of web clearance material
568  std::vector<double> m_vecWebPlTh ; // Thickness of web plates
569  std::vector<double> m_vecWebClrTh ; // Thickness of total web clearance
570  std::vector<double> m_vecWebLength ; // Length of web plate
571 
572  double m_IlyHere ; // here flag
573  std::string m_IlyName ; // string name of inner layer volume
574  double m_IlyPhiLow ; // low phi of volumes
575  double m_IlyDelPhi ; // delta phi of ily
576  std::vector<std::string> m_vecIlyMat ; // materials of inner layer volumes
577  std::vector<double> m_vecIlyThick ; // Thicknesses of inner layer volumes
578 
579  std::string m_IlyPipeName ; // Cooling pipes
580  double m_IlyPipeHere ; //
582  double m_IlyPipeOD ; //
583  double m_IlyPipeID ; //
584  std::vector<double> m_vecIlyPipeLength ; //
585  std::vector<double> m_vecIlyPipeType ; //
586  std::vector<double> m_vecIlyPipePhi ; //
587  std::vector<double> m_vecIlyPipeZ ; //
588 
590  double m_IlyPTMHere ; //
592  double m_IlyPTMWidth ; //
593  double m_IlyPTMLength ; //
594  double m_IlyPTMHeight ; //
595  std::vector<double> m_vecIlyPTMZ ; //
596  std::vector<double> m_vecIlyPTMPhi ; //
597 
599  double m_IlyFanOutHere ; //
601  double m_IlyFanOutWidth ; //
602  double m_IlyFanOutLength ; //
603  double m_IlyFanOutHeight ; //
604  std::vector<double> m_vecIlyFanOutZ ; //
605  std::vector<double> m_vecIlyFanOutPhi ; //
608  double m_IlyDiffOff ; //
609  double m_IlyDiffLength ; //
610  std::string m_IlyBndlName ; // Fiber bundle
612  double m_IlyBndlOff ; //
613  double m_IlyBndlLength ; //
616  double m_IlyFEMWidth ; //
617  double m_IlyFEMLength ; //
618  double m_IlyFEMHeight ; //
619  std::vector<double> m_vecIlyFEMZ ; //
620  std::vector<double> m_vecIlyFEMPhi ; //
621 
622 
623  std::string m_HawRName ; // string name of half-alveolar wedge
624  std::string m_FawName ; // string name of full-alveolar wedge
625  double m_FawHere ; // here flag
626  double m_HawRHBIG ; // height at big end of half alveolar wedge
627  double m_HawRhsml ; // height at small end of half alveolar wedge
628  double m_HawRCutY ; // x dim of hawR cut box
629  double m_HawRCutZ ; // y dim of hawR cut box
630  double m_HawRCutDelY ; // y offset of hawR cut box from top of HAW
631  double m_HawYOffCry ; // Y offset of crystal wrt HAW at front
632  unsigned int m_NFawPerSupm ; // Number of Full Alv. Wedges per supermodule
633  double m_FawPhiOff ; // Phi offset for FAW placement
634  double m_FawDelPhi ; // Phi delta for FAW placement
635  double m_FawPhiRot ; // Phi rotation of FAW about own axis prior to placement
636  double m_FawRadOff ; // Radial offset for FAW placement
637 
638  double m_GridHere ; // here flag
639  std::string m_GridName ; // Grid name
640  std::string m_GridMat ; // Grid material
641  double m_GridThick ; // Grid Thickness
642 
643  double m_BackXOff ; //
644  double m_BackYOff ; //
645 
646  double m_BackHere ; // here flag
647  std::string m_BackSideName ; // Back Sides
648  double m_BackSideHere ; //
649  double m_BackSideLength ; //
650  double m_BackSideHeight ; //
651  double m_BackSideWidth ; //
652  double m_BackSideYOff1 ; //
653  double m_BackSideYOff2 ; //
654  double m_BackSideAngle ; //
656  std::string m_BackPlateName ; // back plate
657  double m_BackPlateHere ; //
658  double m_BackPlateLength ; //
659  double m_BackPlateThick ; //
660  double m_BackPlateWidth ; //
662  std::string m_BackPlate2Name ; // back plate2
663  double m_BackPlate2Thick ; //
666  double m_GrilleHere ; //
667  double m_GrilleThick ; //
668  double m_GrilleWidth ; //
669  double m_GrilleZSpace ; //
671  std::vector<double> m_vecGrilleHeight ; //
672  std::vector<double> m_vecGrilleZOff ; //
673 
674  std::string m_GrEdgeSlotName ; // Slots in Grille
676  double m_GrEdgeSlotHere ; //
677  double m_GrEdgeSlotHeight ; //
678  double m_GrEdgeSlotWidth ; //
679 
680  std::string m_GrMidSlotName ; // Slots in Grille
682  double m_GrMidSlotHere ; //
683  double m_GrMidSlotWidth ; //
684  double m_GrMidSlotXOff ; //
685  std::vector<double> m_vecGrMidSlotHeight ; //
686 
687  double m_BackPipeHere ; // here flag
689  std::vector<double> m_vecBackPipeDiam ; // pipes
690  std::vector<double> m_vecBackPipeThick ; // pipes
693 
694  std::vector<std::string> m_vecBackCoolName ; // cooling circuits
695  double m_BackCoolHere ; // here flag
696  double m_BackCoolBarHere ; // here flag
697  double m_BackCoolBarWidth ; //
701  double m_BackCoolBarThick ; //
703  std::string m_BackCoolBarSSName ; // cooling bar tubing
706  std::string m_BackCoolBarWaName ; // cooling bar water
709  double m_BackCoolVFEHere ; // here flag
714  std::vector<double> m_vecBackVFELyrThick ; //
715  std::vector<std::string> m_vecBackVFELyrName ; //
716  std::vector<std::string> m_vecBackVFELyrMat ; //
717  std::vector<double> m_vecBackCoolNSec ; //
718  std::vector<double> m_vecBackCoolSecSep ; //
719  std::vector<double> m_vecBackCoolNPerSec ; //
720  double m_BackMiscHere ; // here flag
721  std::vector<double> m_vecBackMiscThick ; // misc materials
722  std::vector<std::string> m_vecBackMiscName ; //
723  std::vector<std::string> m_vecBackMiscMat ; //
724  double m_BackCBStdSep ; //
725 
726  double m_PatchPanelHere ; // here flag
728  std::vector<double> m_vecPatchPanelThick ; // patch panel materials
729  std::vector<std::string> m_vecPatchPanelNames ; //
730  std::vector<std::string> m_vecPatchPanelMat ; //
731 
732  double m_BackCoolTankHere ; // here flag
733  std::string m_BackCoolTankName ; // service tank
743 
744  double m_DryAirTubeHere ; // here flag
745  std::string m_DryAirTubeName ; // dry air tube
746  unsigned int m_MBCoolTubeNum ; //
750  double m_MBCoolTubeHere ; // here flag
751  std::string m_MBCoolTubeName ; // mothr bd cooling tube
755  double m_MBManifHere ; // here flag
756  std::string m_MBManifName ; //mother bd manif
757  double m_MBManifInnDiam ; //
758  double m_MBManifOutDiam ; //
760  double m_MBLyrHere ; // here flag
761  std::vector<double> m_vecMBLyrThick ; // mother bd lyrs
762  std::vector<std::string> m_vecMBLyrName ; //
763  std::vector<std::string> m_vecMBLyrMat ; //
764 
765 //-------------------------------------------------------------------
766 
767  double m_PincerRodHere ; // here flag
768  std::string m_PincerRodName ; // pincer rod
770  std::vector<double> m_vecPincerRodAzimuth; //
771 
772  std::string m_PincerEnvName ; // pincer envelope
774  double m_PincerEnvWidth ; //
775  double m_PincerEnvHeight ; //
776  double m_PincerEnvLength ; //
777  std::vector<double> m_vecPincerEnvZOff ; //
778 
779  std::string m_PincerBlkName ; // pincer block
781  double m_PincerBlkLength ; //
782 
784  double m_PincerShimHeight ; //
787  double m_PincerShim1Width ; //
788  double m_PincerShim2Width ; //
789 
790  std::string m_PincerCutName ; // pincer block
792  double m_PincerCutWidth ; //
793  double m_PincerCutHeight ; //
794 
795 };
796 
797 #endif
DDMaterial grEdgeSlotMat() const
double spmExpYOff() const
const std::vector< double > & vecBackCoolNPerSec() const
double backCoolBarThick() const
std::vector< double > m_vecPincerEnvZOff
std::vector< double > m_vecIlyFEMZ
std::vector< double > m_vecNomCryDimCF
HepGeom::RotateX3D RoX3D
DDMaterial backCoolBarMat() const
dbl * delta
Definition: mlp_gen.cc:36
HepGeom::Transform3D Tf3D
double ilyDelPhi() const
double spmSideYOffM() const
double ilyFanOutHeight() const
double spmSideHigh() const
std::vector< std::string > m_vecBackVFELyrMat
const std::string & backCoolTankName() const
DDName ilyDiffName() const
std::vector< std::string > m_vecBackCoolName
std::vector< std::string > m_vecIlyMat
double wrapThAlv() const
double patchPanelHere() const
HepGeom::Point3D< double > Pt3D
DDMaterial ilyBndlMat() const
double bsiThick() const
const std::string & webPlName() const
std::vector< double > m_vecSpmZPts
CLHEP::HepRotation Rota
double ilyPTMHeight() const
DDName backCoolBarWaName() const
double mBManifHere() const
DDMaterial wrapMat() const
double cerXSize() const
DDMaterial backCoolBarSSMat() const
DDMaterial webClrMat() const
DDMaterial ilyPTMMat() const
DDMaterial mBManifMat() const
std::vector< double > vecPincerRodAzimuth() const
const std::vector< double > & vecGrilleHeight() const
double pincerCutHeight() const
const std::vector< double > & vecSpmCutTP() const
DDMaterial capMat() const
double backPlateHere() const
double backSideYOff1() const
const std::vector< double > & vecIlyPipeZ() const
DDMaterial backCoolBarWaMat() const
std::vector< double > m_vecSpmBTran
void initialize(const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs) override
const std::string & backPipeName() const
double pincerEnvLength() const
DDMaterial pincerRodMat() const
const std::vector< std::string > & vecBackVFELyrMat() const
const std::vector< double > & vecGapAlvEta() const
const std::vector< double > & vecSpmCutTM() const
const std::vector< double > & vecBackCoolNSec() const
double backCoolBarHere() const
DDName pincerRodName() const
const std::vector< std::string > & vecPatchPanelMat() const
double barPhiLo() const
double spmSideYOffP() const
double backCoolBarSSThick() const
const std::vector< double > & vecNomCryDimAR() const
DDMaterial is used to define and access material information.
Definition: DDMaterial.h:43
double backCoolHere() const
unsigned int nFawPerSupm() const
double grilleWidth() const
double fawPhiRot() const
std::vector< double > m_vecBarTran
const std::vector< double > & vecBackPipeThick() const
double dryAirTubeHere() const
double mBCoolTubeInnDiam() const
double wallFrAlv() const
double capXSize() const
double grEdgeSlotHeight() const
std::vector< double > m_vecBackMiscThick
std::vector< double > m_vecNomCryDimAR
const std::string & backBracketName() const
double mBManifInnDiam() const
DDMaterial apdMat() const
DDMaterial wallMat() const
const std::vector< double > & vecIlyFanOutZ() const
std::vector< double > m_vecIlyFanOutZ
HepGeom::RotateY3D RoY3D
Geom::Theta< T > theta() const
const std::vector< std::string > & vecMBLyrMat() const
std::string m_BackCoolTankWaName
double backPlateLength() const
double backSideLength() const
const std::string & ilyPipeName() const
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:15
const std::vector< double > & vecMBLyrThick() const
double backHere() const
std::vector< double > m_vecIlyFanOutPhi
DDName pincerBlkName() const
DDSolid mytrap(const std::string &s, const Trap &t) const
const std::vector< std::string > & vecBackCoolName() const
const std::string & dryAirTubeName() const
DDName ilyBndlName() const
const std::vector< double > & vecBarRMin() const
DDMaterial bsiMat() const
std::vector< std::string > m_vecBackMiscName
double ilyFanOutWidth() const
double backCoolVFEHere() const
std::vector< double > m_vecBackCoolSecSep
std::vector< double > vecPincerEnvZOff() const
double grEdgeSlotHere() const
std::vector< double > m_vecBarRota2
double hawYOffCry() const
DDName backPlate2Name() const
double pincerCutWidth() const
double aglThick() const
double backPlateThick() const
const std::string & grMidSlotName() const
DDMaterial backBracketMat() const
double ilyPhiLow() const
std::vector< double > m_vecNomCryDimBF
double wallThAlv() const
double clrThAlv() const
std::vector< double > m_vecWebClrTh
const std::vector< double > & vecNomCryDimCR() const
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:80
DDRotation myrot(const std::string &s, const CLHEP::HepRotation &r) const
Create a DDRotation from a string converted to DDName and CLHEP::HepRotation converted to DDRotationM...
DDMaterial atjMat() const
DDMaterial backVFEMat() const
double backCoolBarWidth() const
DDName grEdgeSlotName() const
std::vector< double > m_vecBarRMin
DDMaterial backSideMat() const
DDName barName() const
std::vector< double > m_vecIlyPipePhi
DDName patchPanelName() const
double pincerShim1Width() const
double backPlate2Thick() const
std::vector< std::string > m_vecPatchPanelMat
A DDSolid represents the shape of a part.
Definition: DDSolid.h:39
const std::vector< double > & vecSpmHere() const
double hawRCutZ() const
std::vector< std::string > m_vecPatchPanelNames
const std::vector< double > & vecSpmZPts() const
double spmSideThick() const
Represents a uniquely identifyable rotation matrix.
Definition: DDTransform.h:68
DDName backSideName() const
const std::vector< double > & vecBackMiscThick() const
double ilyDiffOff() const
std::vector< std::string > m_vecMBLyrName
std::vector< double > m_vecSpmBRota
DDName backCoolBarName() const
double ilyFEMHeight() const
double wallReAlv() const
std::vector< double > m_vecSpmRMax
double spmCutThick() const
const std::vector< double > & vecSpmTran() const
const std::vector< double > & vecBackCoolSecSep() const
double ilyPipeID() const
const std::vector< double > & vecPatchPanelThick() const
const std::string & backCoolTankWaName() const
std::vector< double > m_vecPincerRodAzimuth
double ilyFEMWidth() const
const std::vector< double > & vecBackPipeDiam() const
double wrapReAlv() const
DDName spmCutName() const
std::vector< double > m_vecWebLength
double mBCoolTubeOutDiam() const
DDMaterial spmSideMat() const
double atjThick() const
double mBManifOutDiam() const
std::vector< double > m_vecBarRota
const std::string & clrName() const
double backCoolTankWaWidth() const
EcalTrapezoidParameters Trap
double backCoolTankHere() const
double cerThick() const
std::vector< std::string > m_vecBackVFELyrName
DDMaterial sglMat() const
DDName spmSideName() const
double backCoolTankWidth() const
double barPhiHi() const
DDMaterial backPipeMat() const
double nomCryDimLZ() const
DDMaterial clrMat() const
DDMaterial ilyFanOutMat() const
double dryAirTubeInnDiam() const
DDMaterial grMidSlotMat() const
DDMaterial aglMat() const
double ilyBndlOff() const
const std::vector< std::string > & vecIlyMat() const
const std::vector< std::string > & vecPatchPanelNames() const
CLHEP::Hep3Vector Vec3
DDName pincerEnvName() const
double ilyFEMLength() const
const std::vector< double > & vecGrMidSlotHeight() const
double sglThick() const
std::vector< double > m_vecNomCryDimCR
const std::vector< double > & vecWebLength() const
double backSideWidth() const
std::vector< double > m_vecNomCryDimBR
double ilyPipeHere() const
DDMaterial backPipeWaterMat() const
const std::vector< double > & vecIlyPipeType() const
double grilleThick() const
std::vector< std::string > m_vecBackMiscMat
A DDLogicalPart aggregates information concerning material, solid and sensitveness ...
Definition: DDLogicalPart.h:93
const std::vector< double > & vecIlyFEMZ() const
std::vector< double > m_vecBackCoolNSec
double grMidSlotXOff() const
const std::vector< double > & vecBackVFELyrThick() const
DDMaterial backCoolVFEMat() const
const std::vector< double > & vecSpmRMax() const
double backPipeHere() const
const std::vector< double > & vecSpmBRota() const
double pincerRodHere() const
std::vector< double > m_vecIlyPipeType
const std::vector< std::string > & vecBackMiscName() const
const std::vector< double > & vecIlyFanOutPhi() const
DDMaterial mBCoolTubeMat() const
const std::string & mBCoolTubeName() const
const std::vector< std::string > & vecBackVFELyrName() const
DDMaterial backCoolTankWaMat() const
unsigned int nCryPerAlvEta() const
const std::vector< double > & vecIlyThick() const
DDName ilyFanOutName() const
double backCoolBarHeight() const
const std::vector< double > & vecSpmRMin() const
double mBLyrHere() const
DDName pincerShim1Name() const
void execute(DDCompactView &cpv) override
std::vector< double > m_vecPatchPanelThick
double clrReAlv() const
double fawPhiOff() const
std::vector< double > m_vecSpmCutTM
DDMaterial pincerEnvMat() const
DDName ilyFEMName() const
const std::vector< std::string > & vecBackMiscMat() const
std::vector< double > m_vecBarRMax
DDMaterial pincerCutMat() const
const std::string & webClrName() const
DDMaterial backPlateMat() const
double ilyBndlLength() const
double andThick() const
const std::string & idNameSpace() const
DDName backVFEName() const
const std::vector< double > & vecNomCryDimBF() const
DDName spmName() const
double cerYSize() const
DDName gridName() const
unsigned int nCryTypes() const
std::vector< std::string > m_vecMBLyrMat
std::vector< double > m_vecBarRota3
double ilyPTMLength() const
unsigned int spmNPerHalf() const
DDMaterial webPlMat() const
std::vector< double > m_vecIlyPTMPhi
std::vector< double > m_vecWebPlTh
double grilleHere() const
double capYSize() const
double ilyPipeOD() const
double backCoolBarWaThick() const
double hawRhsml() const
double clrFrAlv() const
double pincerEnvHeight() const
const std::vector< double > & vecSpmBTran() const
const std::vector< double > & vecIlyPTMPhi() const
double spmPhiOff() const
const std::string & ilyName() const
const std::vector< double > & vecIlyPTMZ() const
double grMidSlotHere() const
HepGeom::RotateZ3D RoZ3D
DDMaterial barMat() const
DDName pincerShim2Name() const
std::vector< double > m_vecBackVFELyrThick
HepGeom::Translate3D Tl3D
const std::vector< double > & vecNomCryDimCF() const
DDMaterial pincerShimMat() const
double ilyPTMWidth() const
double ilyFanOutLength() const
double grilleZSpace() const
double backSideHeight() const
HepGeom::Rotate3D Ro3D
DDMaterial grilleMat() const
DDName backCoolVFEName() const
double backSideAngle() const
std::vector< double > m_vecGrMidSlotHeight
double pincerEnvWidth() const
std::vector< double > m_vecBackPipeDiam
HepGeom::ReflectZ3D RfZ3D
DDMaterial ilyFEMMat() const
std::vector< double > m_vecSpmTran
DDMaterial backCoolMat() const
DDMaterial spmMat() const
double fawDelPhi() const
void web(unsigned int iWeb, double bWeb, double BWeb, double LWeb, double theta, const Pt3D &corner, const DDLogicalPart &logPar, double &zee, double side, double front, double delta, DDCompactView &cpv)
std::vector< double > m_vecGrilleHeight
double ilyPTMHere() const
double gridHere() const
DDMaterial ilyPipeMat() const
double backSideYOff2() const
double bsiYSize() const
DDMaterial cerMat() const
std::vector< double > m_vecGapAlvEta
DDMaterial andMat() const
DDName backPlateName() const
DDMaterial cryMat() const
double dryAirTubeOutDiam() const
double capThick() const
DDMaterial gridMat() const
const std::vector< double > & vecBarRMax() const
const std::vector< double > & vecSpmRota() const
DDMaterial backPlate2Mat() const
DDMaterial dryAirTubeMat() const
const std::vector< double > & vecBarRota2() const
std::vector< double > m_vecMBLyrThick
const std::vector< double > & vecIlyFEMPhi() const
std::vector< double > m_vecIlyPipeZ
double grEdgeSlotWidth() const
double fawRadOff() const
std::vector< double > m_vecIlyThick
double pincerShimHeight() const
std::vector< double > m_vecGrilleZOff
DDName pincerCutName() const
double mBCoolTubeNum() const
const std::string & grilleName() const
double spmCutRP() const
DDMaterial pincerBlkMat() const
std::vector< double > m_vecIlyPTMZ
double grMidSlotWidth() const
double spmExpThick() const
double hawRCutY() const
double bsiXSize() const
double spmExpWide() const
double backMiscHere() const
double backCoolTankThick() const
DDMaterial backCoolTankMat() const
std::vector< double > m_vecBarZPts
double gridThick() const
double mBCoolTubeHere() const
double spmCutRM() const
const std::vector< double > & vecNomCryDimBR() const
double ilyFanOutHere() const
const std::vector< double > & vecWebPlTh() const
double wrapFrAlv() const
const std::vector< double > & vecIlyPipePhi() const
std::vector< double > m_vecSpmRota
double hawRCutDelY() const
double backSideHere() const
double spmLowPhi() const
double backCBStdSep() const
double ilyDiffLength() const
double hawRHBIG() const
DDMaterial ddmat(const std::string &s) const
const std::vector< double > & vecWebClrTh() const
const std::vector< std::string > & vecMBLyrName() const
DDName ddname(const std::string &s) const
double barHere() const
const std::vector< double > & vecBarRota() const
DDName backCoolBarSSName() const
double apdThick() const
const std::vector< double > & vecBarZPts() const
std::vector< double > m_vecSpmCutTP
double pincerBlkLength() const
double backPlateWidth() const
const std::vector< double > & vecBarRota3() const
const std::vector< double > & vecBarTran() const
double spmDelPhi() const
double pincerShim2Width() const
double backYOff() const
std::vector< double > m_vecIlyPipeLength
double backBracketHeight() const
std::vector< double > m_vecSpmRMin
std::vector< double > m_vecBackPipeThick
const std::string & cryName() const
const std::vector< double > & vecGrilleZOff() const
std::vector< double > m_vecIlyFEMPhi
DDName ilyPTMName() const
const std::string & wallName() const
std::vector< double > m_vecSpmHere
double nomCryDimAF() const
std::vector< double > m_vecBackCoolNPerSec
DDName hawRName() const
const std::string & wrapName() const
double backXOff() const
DDMaterial ilyDiffMat() const
const std::vector< double > & vecIlyPipeLength() const
DDName mBManifName() const