CMS 3D CMS Logo

DDEcalBarrelAlgo.h
Go to the documentation of this file.
1 #ifndef DD_EcalBarrelAlgo_h
2 #define DD_EcalBarrelAlgo_h
3 
4 #include <map>
5 #include <string>
6 #include <vector>
14 #include "CLHEP/Geometry/Transform3D.h"
15 
16 class DDEcalBarrelAlgo : 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  virtual ~DDEcalBarrelAlgo();
35 
36  void initialize(const DDNumericArguments & nArgs,
37  const DDVectorArguments & vArgs,
38  const DDMapArguments & mArgs,
39  const DDStringArguments & sArgs,
40  const DDStringVectorArguments & vsArgs);
41  void execute(DDCompactView& cpv);
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 
139  DDName apdName () const { return ddname(m_APDName) ; }
140  double apdHere () const { return m_APDHere ; }
141  DDMaterial apdMat () const { return ddmat(m_APDMat) ; }
142  double apdSide () const { return m_APDSide ; }
143  double apdThick() const { return m_APDThick; }
144  double apdZ () const { return m_APDZ ; }
145  double apdX1 () const { return m_APDX1 ; }
146  double apdX2 () const { return m_APDX2 ; }
147 
148  double webHere() const { return m_WebHere ; }
149  const std::string& webPlName() const { return m_WebPlName ; }
150  const std::string& webClrName() const { return m_WebClrName ; }
151  DDMaterial webPlMat() const { return ddmat( m_WebPlMat ) ; }
152  DDMaterial webClrMat() const { return ddmat( m_WebClrMat ) ; }
153  const std::vector<double>& vecWebPlTh() const { return m_vecWebPlTh ; }
154  const std::vector<double>& vecWebClrTh() const { return m_vecWebClrTh ; }
155  const std::vector<double>& vecWebLength() const { return m_vecWebLength ; }
156 
157  double ilyHere() const { return m_IlyHere ; }
158  const std::string& ilyName() const { return m_IlyName ; }
159  double ilyPhiLow() const { return m_IlyPhiLow ; }
160  double ilyDelPhi() const { return m_IlyDelPhi ; }
161  const std::vector<std::string>& vecIlyMat() const { return m_vecIlyMat ; }
162  const std::vector<double>& vecIlyThick() const { return m_vecIlyThick ; }
163 
164  const std::string& ilyPipeName () const { return m_IlyPipeName ;}
165  double ilyPipeHere () const { return m_IlyPipeHere ;}
166  DDMaterial ilyPipeMat () const { return ddmat(m_IlyPipeMat) ;}
167  double ilyPipeOD () const { return m_IlyPipeOD ;}
168  double ilyPipeID () const { return m_IlyPipeID ;}
169  const std::vector<double>& vecIlyPipeLength() const { return m_vecIlyPipeLength ;}
170  const std::vector<double>& vecIlyPipeType () const { return m_vecIlyPipeType ;}
171  const std::vector<double>& vecIlyPipePhi () const { return m_vecIlyPipePhi ;}
172  const std::vector<double>& vecIlyPipeZ () const { return m_vecIlyPipeZ ;}
173 
174  DDName ilyPTMName () const { return ddname(m_IlyPTMName) ;}
175  double ilyPTMHere () const { return m_IlyPTMHere ;}
176  DDMaterial ilyPTMMat () const { return ddmat(m_IlyPTMMat) ;}
177  double ilyPTMWidth () const { return m_IlyPTMWidth ;}
178  double ilyPTMLength () const { return m_IlyPTMLength ;}
179  double ilyPTMHeight () const { return m_IlyPTMHeight ;}
180  const std::vector<double>& vecIlyPTMZ () const { return m_vecIlyPTMZ ;}
181  const std::vector<double>& vecIlyPTMPhi () const { return m_vecIlyPTMPhi ;}
182 
184  double ilyFanOutHere () const { return m_IlyFanOutHere ;}
186  double ilyFanOutWidth () const { return m_IlyFanOutWidth ;}
187  double ilyFanOutLength() const { return m_IlyFanOutLength;}
188  double ilyFanOutHeight() const { return m_IlyFanOutHeight;}
189  const std::vector<double>& vecIlyFanOutZ () const { return m_vecIlyFanOutZ ;}
190  const std::vector<double>& vecIlyFanOutPhi() const { return m_vecIlyFanOutPhi;}
191  DDName ilyDiffName () const { return ddname(m_IlyDiffName) ;}
192  DDMaterial ilyDiffMat () const { return ddmat(m_IlyDiffMat) ;}
193  double ilyDiffOff () const { return m_IlyDiffOff ;}
194  double ilyDiffLength () const { return m_IlyDiffLength ;}
195  DDName ilyBndlName () const { return ddname(m_IlyBndlName) ;}
196  DDMaterial ilyBndlMat () const { return ddmat(m_IlyBndlMat) ;}
197  double ilyBndlOff () const { return m_IlyBndlOff ;}
198  double ilyBndlLength () const { return m_IlyBndlLength ;}
199  DDName ilyFEMName () const { return ddname(m_IlyFEMName) ;}
200  DDMaterial ilyFEMMat () const { return ddmat(m_IlyFEMMat) ;}
201  double ilyFEMWidth () const { return m_IlyFEMWidth ;}
202  double ilyFEMLength () const { return m_IlyFEMLength ;}
203  double ilyFEMHeight () const { return m_IlyFEMHeight ;}
204  const std::vector<double>& vecIlyFEMZ () const { return m_vecIlyFEMZ ;}
205  const std::vector<double>& vecIlyFEMPhi () const { return m_vecIlyFEMPhi ;}
206 
207  DDName hawRName() const { return ddname( m_HawRName ) ; }
208  DDName fawName() const { return ddname( m_FawName ) ; }
209  double fawHere( ) const { return m_FawHere ; }
210  double hawRHBIG() const { return m_HawRHBIG ; }
211  double hawRhsml() const { return m_HawRhsml ; }
212  double hawRCutY() const { return m_HawRCutY ; }
213  double hawRCutZ() const { return m_HawRCutZ ; }
214  double hawRCutDelY() const { return m_HawRCutDelY ; }
215  double hawYOffCry() const { return m_HawYOffCry ; }
216 
217  unsigned int nFawPerSupm() const { return m_NFawPerSupm ; }
218  double fawPhiOff() const { return m_FawPhiOff ; }
219  double fawDelPhi() const { return m_FawDelPhi ; }
220  double fawPhiRot() const { return m_FawPhiRot ; }
221  double fawRadOff() const { return m_FawRadOff ; }
222 
223  double gridHere() const { return m_GridHere ; }
224  DDName gridName() const { return ddname( m_GridName ) ; }
225  DDMaterial gridMat() const { return ddmat( m_GridMat ) ; }
226  double gridThick() const { return m_GridThick ; }
227 
228  double backHere() const { return m_BackHere ; }
229  double backXOff() const { return m_BackXOff ; }
230  double backYOff() const { return m_BackYOff ; }
231  DDName backSideName() const { return ddname( m_BackSideName ) ; }
232  double backSideHere() const { return m_BackSideHere ; }
233  double backSideLength() const { return m_BackSideLength ; }
234  double backSideHeight() const { return m_BackSideHeight ; }
235  double backSideWidth() const { return m_BackSideWidth ; }
236  double backSideYOff1() const { return m_BackSideYOff1 ; }
237  double backSideYOff2() const { return m_BackSideYOff2 ; }
238  double backSideAngle() const { return m_BackSideAngle ; }
239  DDMaterial backSideMat() const { return ddmat( m_BackSideMat ) ; }
240  DDName backPlateName() const { return ddname( m_BackPlateName ) ; }
241  double backPlateHere() const { return m_BackPlateHere ; }
242  double backPlateLength() const { return m_BackPlateLength ; }
243  double backPlateThick() const { return m_BackPlateThick ; }
244  double backPlateWidth() const { return m_BackPlateWidth ; }
245  DDMaterial backPlateMat() const { return ddmat( m_BackPlateMat ) ; }
247  double backPlate2Thick() const { return m_BackPlate2Thick ; }
249  const std::string& grilleName() const { return m_GrilleName ; }
250  double grilleThick() const { return m_GrilleThick ; }
251  double grilleHere() const { return m_GrilleHere ; }
252  double grilleWidth() const { return m_GrilleWidth ; }
253  double grilleZSpace() const { return m_GrilleZSpace ; }
254  DDMaterial grilleMat() const { return ddmat( m_GrilleMat ) ; }
255  const std::vector<double>& vecGrilleHeight() const { return m_vecGrilleHeight ; }
256  const std::vector<double>& vecGrilleZOff() const { return m_vecGrilleZOff ; }
257 
260  double grEdgeSlotHere () const { return m_GrEdgeSlotHere ; }
261  double grEdgeSlotHeight () const { return m_GrEdgeSlotHeight ; }
262  double grEdgeSlotWidth () const { return m_GrEdgeSlotWidth ; }
263  const std::string& grMidSlotName () const { return m_GrMidSlotName ; }
265  double grMidSlotHere () const { return m_GrMidSlotHere ; }
266  double grMidSlotWidth () const { return m_GrMidSlotWidth ; }
267  double grMidSlotXOff () const { return m_GrMidSlotXOff ; }
268  const std::vector<double>& vecGrMidSlotHeight() const { return m_vecGrMidSlotHeight; }
269 
270  double backPipeHere() const { return m_BackPipeHere ; }
271  const std::string& backPipeName() const { return m_BackPipeName ; }
272  const std::vector<double>& vecBackPipeDiam() const { return m_vecBackPipeDiam ; }
273  const std::vector<double>& vecBackPipeThick() const { return m_vecBackPipeThick ; }
274  DDMaterial backPipeMat() const { return ddmat( m_BackPipeMat ) ; }
276  double backMiscHere() const { return m_BackMiscHere ; }
277  const std::vector<double>& vecBackMiscThick() const { return m_vecBackMiscThick ; }
278  const std::vector<std::string>& vecBackMiscName() const
279  { return m_vecBackMiscName ; }
280  const std::vector<std::string>& vecBackMiscMat() const
281  { return m_vecBackMiscMat ; }
282  double patchPanelHere() const { return m_PatchPanelHere ; }
283  const std::vector<double>& vecPatchPanelThick() const { return m_vecPatchPanelThick ; }
284  const std::vector<std::string>& vecPatchPanelNames() const
285  { return m_vecPatchPanelNames ; }
286  const std::vector<std::string>& vecPatchPanelMat() const
287  { return m_vecPatchPanelMat ; }
289 
290  const std::vector<std::string>& vecBackCoolName() const { return m_vecBackCoolName ;}
291  double backCoolHere() const { return m_BackCoolHere ; }
292  double backCoolBarWidth () const { return m_BackCoolBarWidth ;}
293  double backCoolBarHeight () const { return m_BackCoolBarHeight ;}
295  double backCoolBarHere() const { return m_BackCoolBarHere ; }
297  double backCoolBarThick () const { return m_BackCoolBarThick ;}
300  double backCoolBarSSThick() const { return m_BackCoolBarSSThick ;}
303  double backCoolBarWaThick() const { return m_BackCoolBarWaThick ;}
305  double backCoolVFEHere() const { return m_BackCoolVFEHere ; }
308  DDName backVFEName () const { return ddname(m_BackVFEName) ;}
309  DDMaterial backVFEMat () const { return ddmat(m_BackVFEMat) ;}
310  const std::vector<double>& vecBackVFELyrThick() const { return m_vecBackVFELyrThick ;}
311  const std::vector<std::string>& vecBackVFELyrName () const { return m_vecBackVFELyrName ;}
312  const std::vector<std::string>& vecBackVFELyrMat () const { return m_vecBackVFELyrMat ;}
313  const std::vector<double>& vecBackCoolNSec () const { return m_vecBackCoolNSec ;}
314  const std::vector<double>& vecBackCoolSecSep () const { return m_vecBackCoolSecSep ;}
315  const std::vector<double>& vecBackCoolNPerSec() const { return m_vecBackCoolNPerSec ;}
316  double backCBStdSep () const { return m_BackCBStdSep ;}
317 
318  double backCoolTankHere() const { return m_BackCoolTankHere ; }
319  const std::string& backCoolTankName () const { return m_BackCoolTankName ;}
320  double backCoolTankWidth () const { return m_BackCoolTankWidth ;}
321  double backCoolTankThick () const { return m_BackCoolTankThick ;}
324  double backCoolTankWaWidth() const { return m_BackCoolTankWaWidth;}
326  const std::string& backBracketName () const { return m_BackBracketName ;}
327  double backBracketHeight () const { return m_BackBracketHeight ;}
329 
330  double dryAirTubeHere() const { return m_DryAirTubeHere ; }
331  const std::string& dryAirTubeName () const { return m_DryAirTubeName ;}
332  double mBCoolTubeNum () const { return m_MBCoolTubeNum ;}
333  double dryAirTubeInnDiam () const { return m_DryAirTubeInnDiam ;}
334  double dryAirTubeOutDiam () const { return m_DryAirTubeOutDiam ;}
336  double mBCoolTubeHere() const { return m_MBCoolTubeHere ; }
337  const std::string& mBCoolTubeName () const { return m_MBCoolTubeName ;}
338  double mBCoolTubeInnDiam () const { return m_MBCoolTubeInnDiam ;}
339  double mBCoolTubeOutDiam () const { return m_MBCoolTubeOutDiam ;}
341  double mBManifHere() const { return m_MBManifHere ; }
342  DDName mBManifName () const { return ddname(m_MBManifName) ;}
343  double mBManifInnDiam () const { return m_MBManifInnDiam ;}
344  double mBManifOutDiam () const { return m_MBManifOutDiam ;}
345  DDMaterial mBManifMat () const { return ddmat(m_MBManifMat) ;}
346  double mBLyrHere() const { return m_MBLyrHere ; }
347  const std::vector<double>& vecMBLyrThick() const { return m_vecMBLyrThick ;}
348  const std::vector<std::string>& vecMBLyrName () const { return m_vecMBLyrName ;}
349  const std::vector<std::string>& vecMBLyrMat () const { return m_vecMBLyrMat ;}
350 
351 //----------
352 
353  double pincerRodHere () const { return m_PincerRodHere ;}
356  std::vector<double> vecPincerRodAzimuth() const { return m_vecPincerRodAzimuth;}
359  double pincerEnvWidth () const { return m_PincerEnvWidth ;}
360  double pincerEnvHeight () const { return m_PincerEnvHeight ;}
361  double pincerEnvLength () const { return m_PincerEnvLength ;}
362  std::vector<double> vecPincerEnvZOff () const { return m_vecPincerEnvZOff ;}
363 
366  double pincerBlkLength () const { return m_PincerBlkLength ;}
367 
369  double pincerShimHeight () const { return m_PincerShimHeight ;}
372  double pincerShim1Width () const { return m_PincerShim1Width ;}
373  double pincerShim2Width () const { return m_PincerShim2Width ;}
374 
377  double pincerCutWidth () const { return m_PincerCutWidth ;}
378  double pincerCutHeight () const { return m_PincerCutHeight ;}
379 
380 protected:
381 
382 private:
383 
384  void web( unsigned int iWeb,
385  double bWeb,
386  double BWeb,
387  double LWeb,
388  double theta,
389  const Pt3D& corner,
390  const DDLogicalPart logPar,
391  double& zee ,
392  double side,
393  double front,
394  double delta,
395  DDCompactView& cpv );
396 
397  std::string m_idNameSpace; //Namespace of this and ALL sub-parts
398 
399  // Barrel volume
400  std::string m_BarName ; // Barrel volume name
401  std::string m_BarMat ; // Barrel material name
402  std::vector<double> m_vecBarZPts ; // Barrel list of z pts
403  std::vector<double> m_vecBarRMin ; // Barrel list of rMin pts
404  std::vector<double> m_vecBarRMax ; // Barrel list of rMax pts
405  std::vector<double> m_vecBarTran ; // Barrel translation
406  std::vector<double> m_vecBarRota ; // Barrel rotation
407  std::vector<double> m_vecBarRota2; // 2nd Barrel rotation
408  std::vector<double> m_vecBarRota3; // 2nd Barrel rotation
409  double m_BarPhiLo ; // Barrel phi lo
410  double m_BarPhiHi ; // Barrel phi hi
411  double m_BarHere ; // Barrel presence flag
412 
413  // Supermodule volume
414  std::string m_SpmName ; // Supermodule volume name
415  std::string m_SpmMat ; // Supermodule material name
416  std::vector<double> m_vecSpmZPts ; // Supermodule list of z pts
417  std::vector<double> m_vecSpmRMin ; // Supermodule list of rMin pts
418  std::vector<double> m_vecSpmRMax ; // Supermodule list of rMax pts
419  std::vector<double> m_vecSpmTran ; // Supermodule translation
420  std::vector<double> m_vecSpmRota ; // Supermodule rotation
421  std::vector<double> m_vecSpmBTran ; // Base Supermodule translation
422  std::vector<double> m_vecSpmBRota ; // Base Supermodule rotation
423  unsigned int m_SpmNPerHalf ; // # Supermodules per half detector
424  double m_SpmLowPhi ; // Low phi value of base supermodule
425  double m_SpmDelPhi ; // Delta phi value of base supermodule
426  double m_SpmPhiOff ; // Phi offset value supermodule
427  std::vector<double> m_vecSpmHere ; // Bit saying if a supermodule is present or not
428  std::string m_SpmCutName ; // Name of cut box
429  double m_SpmCutThick ; // Box thickness
430  int m_SpmCutShow ; // Non-zero means show the box on display (testing only)
431  std::vector<double> m_vecSpmCutTM ; // Translation for minus phi cut box
432  std::vector<double> m_vecSpmCutTP ; // Translation for plus phi cut box
433  double m_SpmCutRM ; // Rotation for minus phi cut box
434  double m_SpmCutRP ; // Rotation for plus phi cut box
435  double m_SpmExpThick ; // Thickness (x) of supermodule expansion box
436  double m_SpmExpWide ; // Width (y) of supermodule expansion box
437  double m_SpmExpYOff ; // Offset (y) of supermodule expansion box
438  std::string m_SpmSideName ; // Supermodule Side Plate volume name
439  std::string m_SpmSideMat ; // Supermodule Side Plate material name
440  double m_SpmSideHigh ; // Side plate height
441  double m_SpmSideThick; // Side plate thickness
442  double m_SpmSideYOffM; // Side plate Y offset on minus phi side
443  double m_SpmSideYOffP; // Side plate Y offset on plus phi side
444 
445  double m_NomCryDimAF ; // Nominal crystal AF
446  double m_NomCryDimLZ ; // Nominal crystal LZ
447  std::vector<double> m_vecNomCryDimBF ; // Nominal crystal BF
448  std::vector<double> m_vecNomCryDimCF ; // Nominal crystal CF
449  std::vector<double> m_vecNomCryDimAR ; // Nominal crystal AR
450  std::vector<double> m_vecNomCryDimBR ; // Nominal crystal BR
451  std::vector<double> m_vecNomCryDimCR ; // Nominal crystal CR
452 
453  double m_UnderAF ; // undershoot of AF
454  double m_UnderLZ ; // undershoot of LZ
455  double m_UnderBF ; // undershoot of BF
456  double m_UnderCF ; // undershoot of CF
457  double m_UnderAR ; // undershoot of AR
458  double m_UnderBR ; // undershoot of BR
459  double m_UnderCR ; // undershoot of CR
460 
461  double m_WallThAlv ; // alveoli wall thickness
462  double m_WrapThAlv ; // wrapping thickness
463  double m_ClrThAlv ; // clearance thickness (nominal)
464  std::vector<double> m_vecGapAlvEta ; // Extra clearance after each alveoli perp to crystal axis
465 
466  double m_WallFrAlv ; // alveoli wall frontage
467  double m_WrapFrAlv ; // wrapping frontage
468  double m_ClrFrAlv ; // clearance frontage (nominal)
469 
470  double m_WallReAlv ; // alveoli wall rearage
471  double m_WrapReAlv ; // wrapping rearage
472  double m_ClrReAlv ; // clearance rearage (nominal)
473 
474  unsigned int m_NCryTypes ; // number of crystal shapes
475  unsigned int m_NCryPerAlvEta ; // number of crystals in eta per alveolus
476 
477  std::string m_CryName ; // string name of crystal volume
478  std::string m_ClrName ; // string name of clearance volume
479  std::string m_WrapName ; // string name of wrap volume
480  std::string m_WallName ; // string name of wall volume
481 
482  std::string m_CryMat ; // string name of crystal material
483  std::string m_ClrMat ; // string name of clearance material
484  std::string m_WrapMat ; // string name of wrap material
485  std::string m_WallMat ; // string name of wall material
486 
488  double m_APDHere ; //
490  double m_APDSide ; //
491  double m_APDThick ; //
492  double m_APDZ ; //
493  double m_APDX1 ; //
494  double m_APDX2 ; //
495 
496  double m_WebHere ; // here flag
497  std::string m_WebPlName ; // string name of web plate volume
498  std::string m_WebClrName ; // string name of web clearance volume
499  std::string m_WebPlMat ; // string name of web material
500  std::string m_WebClrMat ; // string name of web clearance material
501  std::vector<double> m_vecWebPlTh ; // Thickness of web plates
502  std::vector<double> m_vecWebClrTh ; // Thickness of total web clearance
503  std::vector<double> m_vecWebLength ; // Length of web plate
504 
505  double m_IlyHere ; // here flag
506  std::string m_IlyName ; // string name of inner layer volume
507  double m_IlyPhiLow ; // low phi of volumes
508  double m_IlyDelPhi ; // delta phi of ily
509  std::vector<std::string> m_vecIlyMat ; // materials of inner layer volumes
510  std::vector<double> m_vecIlyThick ; // Thicknesses of inner layer volumes
511 
512  std::string m_IlyPipeName ; // Cooling pipes
513  double m_IlyPipeHere ; //
515  double m_IlyPipeOD ; //
516  double m_IlyPipeID ; //
517  std::vector<double> m_vecIlyPipeLength ; //
518  std::vector<double> m_vecIlyPipeType ; //
519  std::vector<double> m_vecIlyPipePhi ; //
520  std::vector<double> m_vecIlyPipeZ ; //
521 
523  double m_IlyPTMHere ; //
525  double m_IlyPTMWidth ; //
526  double m_IlyPTMLength ; //
527  double m_IlyPTMHeight ; //
528  std::vector<double> m_vecIlyPTMZ ; //
529  std::vector<double> m_vecIlyPTMPhi ; //
530 
532  double m_IlyFanOutHere ; //
534  double m_IlyFanOutWidth ; //
535  double m_IlyFanOutLength ; //
536  double m_IlyFanOutHeight ; //
537  std::vector<double> m_vecIlyFanOutZ ; //
538  std::vector<double> m_vecIlyFanOutPhi ; //
541  double m_IlyDiffOff ; //
542  double m_IlyDiffLength ; //
543  std::string m_IlyBndlName ; // Fiber bundle
545  double m_IlyBndlOff ; //
546  double m_IlyBndlLength ; //
549  double m_IlyFEMWidth ; //
550  double m_IlyFEMLength ; //
551  double m_IlyFEMHeight ; //
552  std::vector<double> m_vecIlyFEMZ ; //
553  std::vector<double> m_vecIlyFEMPhi ; //
554 
555 
556  std::string m_HawRName ; // string name of half-alveolar wedge
557  std::string m_FawName ; // string name of full-alveolar wedge
558  double m_FawHere ; // here flag
559  double m_HawRHBIG ; // height at big end of half alveolar wedge
560  double m_HawRhsml ; // height at small end of half alveolar wedge
561  double m_HawRCutY ; // x dim of hawR cut box
562  double m_HawRCutZ ; // y dim of hawR cut box
563  double m_HawRCutDelY ; // y offset of hawR cut box from top of HAW
564  double m_HawYOffCry ; // Y offset of crystal wrt HAW at front
565  unsigned int m_NFawPerSupm ; // Number of Full Alv. Wedges per supermodule
566  double m_FawPhiOff ; // Phi offset for FAW placement
567  double m_FawDelPhi ; // Phi delta for FAW placement
568  double m_FawPhiRot ; // Phi rotation of FAW about own axis prior to placement
569  double m_FawRadOff ; // Radial offset for FAW placement
570 
571  double m_GridHere ; // here flag
572  std::string m_GridName ; // Grid name
573  std::string m_GridMat ; // Grid material
574  double m_GridThick ; // Grid Thickness
575 
576  double m_BackXOff ; //
577  double m_BackYOff ; //
578 
579  double m_BackHere ; // here flag
580  std::string m_BackSideName ; // Back Sides
581  double m_BackSideHere ; //
582  double m_BackSideLength ; //
583  double m_BackSideHeight ; //
584  double m_BackSideWidth ; //
585  double m_BackSideYOff1 ; //
586  double m_BackSideYOff2 ; //
587  double m_BackSideAngle ; //
589  std::string m_BackPlateName ; // back plate
590  double m_BackPlateHere ; //
591  double m_BackPlateLength ; //
592  double m_BackPlateThick ; //
593  double m_BackPlateWidth ; //
595  std::string m_BackPlate2Name ; // back plate2
596  double m_BackPlate2Thick ; //
599  double m_GrilleHere ; //
600  double m_GrilleThick ; //
601  double m_GrilleWidth ; //
602  double m_GrilleZSpace ; //
604  std::vector<double> m_vecGrilleHeight ; //
605  std::vector<double> m_vecGrilleZOff ; //
606 
607  std::string m_GrEdgeSlotName ; // Slots in Grille
609  double m_GrEdgeSlotHere ; //
610  double m_GrEdgeSlotHeight ; //
611  double m_GrEdgeSlotWidth ; //
612 
613  std::string m_GrMidSlotName ; // Slots in Grille
615  double m_GrMidSlotHere ; //
616  double m_GrMidSlotWidth ; //
617  double m_GrMidSlotXOff ; //
618  std::vector<double> m_vecGrMidSlotHeight ; //
619 
620  double m_BackPipeHere ; // here flag
622  std::vector<double> m_vecBackPipeDiam ; // pipes
623  std::vector<double> m_vecBackPipeThick ; // pipes
626 
627  std::vector<std::string> m_vecBackCoolName ; // cooling circuits
628  double m_BackCoolHere ; // here flag
629  double m_BackCoolBarHere ; // here flag
630  double m_BackCoolBarWidth ; //
634  double m_BackCoolBarThick ; //
636  std::string m_BackCoolBarSSName ; // cooling bar tubing
639  std::string m_BackCoolBarWaName ; // cooling bar water
642  double m_BackCoolVFEHere ; // here flag
647  std::vector<double> m_vecBackVFELyrThick ; //
648  std::vector<std::string> m_vecBackVFELyrName ; //
649  std::vector<std::string> m_vecBackVFELyrMat ; //
650  std::vector<double> m_vecBackCoolNSec ; //
651  std::vector<double> m_vecBackCoolSecSep ; //
652  std::vector<double> m_vecBackCoolNPerSec ; //
653  double m_BackMiscHere ; // here flag
654  std::vector<double> m_vecBackMiscThick ; // misc materials
655  std::vector<std::string> m_vecBackMiscName ; //
656  std::vector<std::string> m_vecBackMiscMat ; //
657  double m_BackCBStdSep ; //
658 
659  double m_PatchPanelHere ; // here flag
661  std::vector<double> m_vecPatchPanelThick ; // patch panel materials
662  std::vector<std::string> m_vecPatchPanelNames ; //
663  std::vector<std::string> m_vecPatchPanelMat ; //
664 
665  double m_BackCoolTankHere ; // here flag
666  std::string m_BackCoolTankName ; // service tank
676 
677  double m_DryAirTubeHere ; // here flag
678  std::string m_DryAirTubeName ; // dry air tube
679  unsigned int m_MBCoolTubeNum ; //
683  double m_MBCoolTubeHere ; // here flag
684  std::string m_MBCoolTubeName ; // mothr bd cooling tube
688  double m_MBManifHere ; // here flag
689  std::string m_MBManifName ; //mother bd manif
690  double m_MBManifInnDiam ; //
691  double m_MBManifOutDiam ; //
693  double m_MBLyrHere ; // here flag
694  std::vector<double> m_vecMBLyrThick ; // mother bd lyrs
695  std::vector<std::string> m_vecMBLyrName ; //
696  std::vector<std::string> m_vecMBLyrMat ; //
697 
698 //-------------------------------------------------------------------
699 
700  double m_PincerRodHere ; // here flag
701  std::string m_PincerRodName ; // pincer rod
703  std::vector<double> m_vecPincerRodAzimuth; //
704 
705  std::string m_PincerEnvName ; // pincer envelope
707  double m_PincerEnvWidth ; //
708  double m_PincerEnvHeight ; //
709  double m_PincerEnvLength ; //
710  std::vector<double> m_vecPincerEnvZOff ; //
711 
712  std::string m_PincerBlkName ; // pincer block
714  double m_PincerBlkLength ; //
715 
717  double m_PincerShimHeight ; //
720  double m_PincerShim1Width ; //
721  double m_PincerShim2Width ; //
722 
723  std::string m_PincerCutName ; // pincer block
725  double m_PincerCutWidth ; //
726  double m_PincerCutHeight ; //
727 
728 };
729 
730 #endif
std::vector< double > m_vecSpmBRota
double grMidSlotXOff() const
const std::vector< std::string > & vecBackMiscName() const
unsigned int spmNPerHalf() const
dbl * delta
Definition: mlp_gen.cc:36
double patchPanelHere() const
std::string m_IlyBndlMat
const std::string & backCoolTankName() const
double backCoolTankWaWidth() const
DDMaterial ilyBndlMat() const
unsigned int m_MBCoolTubeNum
std::string m_BackCoolTankMat
const std::vector< double > & vecSpmTran() const
const std::vector< std::string > & vecMBLyrName() const
std::string m_GridName
std::string m_SpmSideMat
unsigned int m_SpmNPerHalf
HepGeom::Transform3D Tf3D
const std::vector< double > & vecSpmRMin() const
const std::string & clrName() const
double ilyFEMWidth() const
double backHere() const
const std::vector< double > & vecBackCoolNSec() const
DDMaterial ilyDiffMat() const
DDMaterial backSideMat() const
DDName fawName() const
std::string m_WebPlName
double backPlate2Thick() const
DDMaterial mBManifMat() const
const std::string & backPipeName() const
const std::vector< double > & vecIlyPipeLength() const
double pincerEnvLength() const
double grilleZSpace() const
std::string m_BackVFEName
DDMaterial ilyFEMMat() const
double ilyDelPhi() const
double backPlateThick() const
std::string m_SpmName
double apdX1() const
DDName mBManifName() const
CLHEP::HepRotation Rota
std::string m_BackCoolTankWaName
std::vector< double > m_vecIlyPipeLength
double backPlateHere() const
std::string m_APDName
std::string m_BackPipeMat
std::vector< double > m_vecIlyFanOutPhi
const std::vector< double > & vecBackCoolSecSep() const
double grEdgeSlotHere() const
EcalTrapezoidParameters Trap
double hawRCutDelY() const
double pincerBlkLength() const
const std::vector< double > & vecNomCryDimBR() const
double apdX2() const
double fawPhiRot() const
double wallThAlv() const
std::string m_IlyDiffName
double spmCutThick() const
std::string m_IlyFanOutName
DDName pincerRodName() const
std::vector< double > m_vecWebLength
double ilyDiffLength() const
std::string m_DryAirTubeMat
DDMaterial webPlMat() const
double spmCutRM() const
double wrapReAlv() const
unsigned int nCryPerAlvEta() const
double fawRadOff() const
DDMaterial spmSideMat() const
double backMiscHere() const
std::string m_BarName
double underCF() const
DDMaterial is used to define and access material information.
Definition: DDMaterial.h:41
DDMaterial grEdgeSlotMat() const
DDMaterial backCoolTankMat() const
double wrapFrAlv() const
double apdHere() const
const std::vector< std::string > & vecBackVFELyrName() const
const std::string & mBCoolTubeName() const
double underLZ() const
std::string m_BackCoolBarSSName
const std::string & backCoolTankWaName() const
std::vector< double > m_vecSpmZPts
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...
double backSideYOff2() const
double grilleHere() const
double ilyPhiLow() const
double hawRhsml() const
std::vector< std::string > m_vecPatchPanelMat
DDMaterial ddmat(const std::string &s) const
std::vector< double > m_vecBarZPts
double backCoolBarHeight() const
std::vector< double > m_vecBackMiscThick
double backSideHere() const
double ilyBndlLength() const
double wallFrAlv() const
DDMaterial grilleMat() 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)
Geom::Theta< T > theta() const
DDMaterial backCoolBarSSMat() const
double backCoolVFEHere() const
const std::vector< double > & vecSpmRMax() const
double backPipeHere() const
std::string m_PincerShim2Name
double grilleWidth() const
DDName barName() const
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:16
std::vector< double > m_vecSpmRMin
const std::vector< double > & vecBarRota3() const
std::vector< double > m_vecGrilleZOff
std::string m_CryName
double hawRCutZ() const
double wrapThAlv() const
std::string m_BackPipeWaterMat
std::string m_BarMat
std::string m_PincerShim1Name
DDMaterial backCoolTankWaMat() const
std::vector< double > m_vecGrilleHeight
std::string m_SpmSideName
std::vector< std::string > m_vecBackVFELyrMat
std::vector< double > m_vecIlyFEMPhi
DDName backCoolBarSSName() const
std::string m_BackSideName
double backYOff() const
DDName gridName() const
std::string m_WrapName
double backSideLength() const
DDMaterial barMat() const
DDMaterial apdMat() const
DDName pincerEnvName() const
std::string m_WallName
DDMaterial backVFEMat() const
double pincerRodHere() const
DDName backVFEName() const
std::string m_WebPlMat
double mBManifOutDiam() const
double ilyFanOutHere() const
const std::vector< double > & vecNomCryDimBF() const
std::string m_IlyFEMMat
const std::vector< std::string > & vecPatchPanelNames() const
type of data representation of DDCompactView
Definition: DDCompactView.h:90
std::string m_FawName
DDName backPlate2Name() const
DDName grEdgeSlotName() const
std::string m_PincerRodMat
std::vector< double > m_vecBarRMax
std::string m_WallMat
std::string m_PincerCutMat
DDMaterial mBCoolTubeMat() const
std::string m_ClrMat
A DDSolid represents the shape of a part.
Definition: DDSolid.h:37
std::string m_GrEdgeSlotMat
DDName backSideName() const
double mBCoolTubeNum() const
double backPlateLength() const
std::vector< double > m_vecSpmTran
HepGeom::Point3D< double > Pt3D
double apdZ() const
const std::string & grilleName() const
std::vector< double > m_vecIlyPTMZ
const std::vector< double > & vecIlyPTMZ() const
std::string m_BackPlate2Name
unsigned int m_NFawPerSupm
Represents a uniquely identifyable rotation matrix.
Definition: DDTransform.h:64
std::vector< double > m_vecBarRota2
std::string m_BackPipeName
double nomCryDimLZ() const
const std::vector< double > & vecSpmBTran() const
std::string m_idNameSpace
DDName ilyFEMName() const
double ilyPTMHere() const
std::string m_IlyFanOutMat
std::string m_PincerShimMat
std::vector< double > m_vecBackCoolNPerSec
double fawPhiOff() const
std::vector< double > m_vecSpmCutTM
const std::vector< double > & vecMBLyrThick() const
DDSolid mytrap(const std::string &s, const Trap &t) const
std::vector< double > m_vecWebClrTh
DDMaterial backPipeMat() const
double pincerShim2Width() const
double backSideAngle() const
std::string m_ClrName
double ilyPipeHere() const
std::string m_GrMidSlotMat
double mBManifInnDiam() const
unsigned int m_NCryPerAlvEta
void initialize(const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs)
std::vector< double > m_vecBarRota
std::vector< double > m_vecBackCoolNSec
double ilyDiffOff() const
double backCoolBarWaThick() const
std::vector< double > m_vecNomCryDimCR
double backSideWidth() const
double spmSideYOffM() const
double ilyFanOutHeight() const
double hawYOffCry() const
unsigned int nCryTypes() const
std::string m_IlyName
std::vector< double > m_vecPatchPanelThick
std::string m_BackPlate2Mat
const std::string & webClrName() const
double grilleThick() const
std::string m_IlyDiffMat
DDMaterial pincerCutMat() const
std::vector< double > m_vecNomCryDimAR
HepGeom::RotateZ3D RoZ3D
const std::vector< std::string > & vecBackCoolName() const
unsigned int m_NCryTypes
std::vector< std::string > m_vecIlyMat
DDMaterial webClrMat() const
std::string m_IlyPTMMat
std::vector< double > m_vecBackPipeThick
double pincerCutWidth() const
std::string m_IlyPipeName
DDMaterial backCoolBarWaMat() const
DDName ilyBndlName() const
const std::string & backBracketName() const
const std::vector< double > & vecBackCoolNPerSec() const
const std::string & ilyPipeName() const
double grMidSlotHere() const
double mBCoolTubeInnDiam() const
double underBR() const
double spmExpYOff() const
double mBCoolTubeHere() const
double backCoolTankHere() const
DDMaterial backPlateMat() const
DDName pincerShim1Name() const
double backSideYOff1() const
std::string m_MBCoolTubeMat
std::string m_IlyPTMName
std::vector< double > m_vecPincerRodAzimuth
const std::vector< double > & vecBackPipeDiam() const
double hawRCutY() const
CLHEP::Hep3Vector Vec3
std::string m_IlyFEMName
const std::vector< std::string > & vecBackVFELyrMat() const
double pincerEnvWidth() const
double mBCoolTubeOutDiam() const
const std::vector< double > & vecIlyFanOutPhi() const
std::vector< std::string > m_vecMBLyrMat
double webHere() const
const std::vector< double > & vecBarTran() const
A DDLogicalPart aggregates information concerning material, solid and sensitveness ...
Definition: DDLogicalPart.h:92
const std::vector< double > & vecSpmCutTM() const
double ilyPipeOD() const
double underBF() const
const std::vector< double > & vecNomCryDimCR() const
double grMidSlotWidth() const
double ilyFEMHeight() const
DDMaterial ilyFanOutMat() const
double backXOff() const
std::vector< double > m_vecIlyThick
const std::vector< double > & vecIlyPTMPhi() const
unsigned int nFawPerSupm() const
DDMaterial backBracketMat() const
double nomCryDimAF() const
std::vector< double > m_vecIlyPipePhi
double spmExpWide() const
double dryAirTubeInnDiam() const
const std::vector< double > & vecBarRota() const
DDName ilyPTMName() const
double fawDelPhi() const
double spmExpThick() const
double apdSide() const
std::string m_BackPlateMat
std::string m_PincerCutName
const std::vector< double > & vecBackPipeThick() const
DDMaterial pincerEnvMat() const
HepGeom::RotateX3D RoX3D
std::string m_MBCoolTubeName
double ilyFanOutLength() const
std::string m_BackCoolVFEName
std::vector< std::string > m_vecBackVFELyrName
double hawRHBIG() const
double grEdgeSlotWidth() const
std::vector< double > m_vecPincerEnvZOff
const std::string & webPlName() const
const std::string & idNameSpace() const
double barPhiHi() const
const std::vector< double > & vecSpmHere() const
std::string m_PincerEnvName
double fawHere() const
const std::vector< double > & vecNomCryDimCF() const
std::vector< double > m_vecBackVFELyrThick
std::string m_BackCoolTankWaMat
std::vector< double > m_vecBackCoolSecSep
const std::string & wrapName() const
double grEdgeSlotHeight() const
const std::vector< double > & vecBarRMax() const
std::vector< double > m_vecNomCryDimBF
const std::string & wallName() const
std::string m_BackBracketName
std::string m_BackCoolMat
DDName backCoolBarWaName() const
double barPhiLo() const
std::string m_PincerRodName
std::string m_GrilleMat
double backSideHeight() const
double ilyFEMLength() const
std::string m_BackCoolTankName
const std::vector< double > & vecBarRota2() const
DDMaterial ilyPTMMat() const
const std::string & grMidSlotName() const
DDMaterial backCoolBarMat() const
const std::vector< std::string > & vecIlyMat() const
std::string m_BackCoolBarSSMat
double mBManifHere() const
std::string m_BackCoolBarName
std::vector< double > m_vecBarRMin
double ilyHere() const
std::string m_GrilleName
DDMaterial wrapMat() const
double underCR() const
std::vector< double > m_vecNomCryDimBR
const std::vector< double > & vecIlyPipeZ() const
DDName hawRName() const
std::vector< double > m_vecNomCryDimCF
std::vector< std::string > m_vecBackMiscMat
std::vector< std::string > m_vecMBLyrName
DDName apdName() const
std::vector< double > m_vecIlyFanOutZ
const std::vector< double > & vecBarRMin() const
const std::string & dryAirTubeName() const
DDMaterial wallMat() const
std::vector< double > m_vecIlyPipeZ
const std::vector< double > & vecBackMiscThick() const
double backCoolBarHere() const
const std::vector< double > & vecSpmZPts() const
const std::vector< double > & vecIlyFEMZ() const
std::vector< double > m_vecSpmCutTP
DDMaterial gridMat() const
const std::vector< double > & vecSpmCutTP() const
const std::string & ilyName() const
double spmLowPhi() const
DDMaterial grMidSlotMat() const
std::string m_PincerBlkMat
const std::vector< double > & vecSpmRota() const
std::vector< std::string > m_vecPatchPanelNames
const std::string & cryName() const
HepGeom::RotateY3D RoY3D
double ilyPTMHeight() const
const std::vector< double > & vecNomCryDimAR() const
std::vector< double > m_vecSpmRMax
double pincerShimHeight() const
double clrFrAlv() const
std::vector< double > m_vecSpmBTran
double underAF() const
double spmSideYOffP() const
std::string m_SpmCutName
DDName backPlateName() const
std::vector< double > m_vecIlyPTMPhi
double spmCutRP() const
std::string m_GrEdgeSlotName
double barHere() const
const std::vector< std::string > & vecPatchPanelMat() const
DDName backCoolVFEName() const
DDName spmSideName() const
std::string m_PincerBlkName
std::string m_BackCoolBarWaMat
DDMaterial backPlate2Mat() const
HepGeom::ReflectZ3D RfZ3D
double gridHere() const
std::string m_IlyBndlName
DDMaterial backCoolMat() const
std::string m_CryMat
std::string m_BackPlateName
double backCoolBarSSThick() const
std::vector< double > m_vecIlyPipeType
double wallReAlv() const
const std::vector< std::string > & vecBackMiscMat() const
std::vector< double > m_vecGapAlvEta
std::string m_HawRName
DDMaterial dryAirTubeMat() const
double ilyPipeID() const
std::string m_PincerEnvMat
DDMaterial spmMat() const
std::vector< double > m_vecWebPlTh
DDName ddname(const std::string &s) const
double backCBStdSep() const
std::string m_GridMat
double clrReAlv() const
double dryAirTubeHere() const
std::string m_BackCoolVFEMat
std::string m_WebClrName
const std::vector< double > & vecIlyPipeType() const
std::vector< double > m_vecMBLyrThick
DDMaterial pincerShimMat() const
std::string m_MBManifMat
std::vector< double > m_vecGrMidSlotHeight
std::string m_BackVFEMat
std::string m_BackCoolBarMat
std::string m_BackSideMat
const std::vector< double > & vecWebClrTh() const
double underAR() const
std::vector< double > vecPincerRodAzimuth() const
DDMaterial pincerBlkMat() const
std::vector< double > m_vecIlyFEMZ
std::string m_APDMat
double backBracketHeight() const
std::string m_MBManifName
const std::vector< double > & vecBackVFELyrThick() const
std::string m_GrMidSlotName
double backCoolTankWidth() const
const std::vector< double > & vecGapAlvEta() const
const std::vector< double > & vecSpmBRota() const
const std::vector< double > & vecWebLength() const
double backCoolTankThick() const
double backCoolHere() const
DDMaterial cryMat() const
DDName pincerCutName() const
double ilyBndlOff() const
DDName pincerBlkName() const
const std::vector< double > & vecIlyFanOutZ() const
const std::vector< double > & vecGrilleHeight() const
const std::vector< double > & vecGrMidSlotHeight() const
double spmSideHigh() const
double pincerShim1Width() const
std::vector< double > vecPincerEnvZOff() const
DDMaterial backCoolVFEMat() const
std::vector< std::string > m_vecBackMiscName
virtual ~DDEcalBarrelAlgo()
std::string m_PatchPanelName
std::string m_DryAirTubeName
const std::vector< std::string > & vecMBLyrMat() const
double backPlateWidth() const
double spmDelPhi() const
double gridThick() const
DDName spmName() const
DDMaterial clrMat() const
std::string m_BackCoolBarWaName
DDMaterial ilyPipeMat() const
double backCoolBarWidth() const
int spmCutShow() const
const std::vector< double > & vecBarZPts() const
const std::vector< double > & vecIlyThick() const
HepGeom::Rotate3D Ro3D
DDName spmCutName() const
std::vector< double > m_vecSpmRota
DDName backCoolBarName() const
double dryAirTubeOutDiam() const
double pincerCutHeight() const
std::vector< double > m_vecBackPipeDiam
const std::vector< double > & vecGrilleZOff() const
double apdThick() const
const std::vector< double > & vecIlyPipePhi() const
double ilyPTMLength() const
double backCoolBarThick() const
DDName ilyDiffName() const
std::vector< double > m_vecSpmHere
double spmPhiOff() const
HepGeom::Translate3D Tl3D
DDName ilyFanOutName() const
double pincerEnvHeight() const
double clrThAlv() const
double ilyFanOutWidth() const
std::string m_BackBracketMat
std::vector< double > m_vecBarRota3
DDName pincerShim2Name() const
std::vector< double > m_vecBarTran
DDName patchPanelName() const
const std::vector< double > & vecPatchPanelThick() const
double ilyPTMWidth() const
double mBLyrHere() const
const std::vector< double > & vecWebPlTh() const
DDMaterial backPipeWaterMat() const
double spmSideThick() const
const std::vector< double > & vecIlyFEMPhi() const
DDMaterial pincerRodMat() const
std::string m_SpmMat
std::string m_IlyPipeMat
std::string m_WrapMat
void execute(DDCompactView &cpv)
std::vector< std::string > m_vecBackCoolName
std::string m_WebClrMat