Go to the documentation of this file.00001 #ifndef DD_EcalBarrelNewAlgo_h
00002 #define DD_EcalBarrelNewAlgo_h
00003
00004 #include <map>
00005 #include <string>
00006 #include <vector>
00007 #include "DetectorDescription/Base/interface/DDTypes.h"
00008 #include "DetectorDescription/Core/interface/DDName.h"
00009 #include "DetectorDescription/Algorithm/interface/DDAlgorithm.h"
00010 #include "DetectorDescription/Core/interface/DDMaterial.h"
00011 #include "DetectorDescription/Core/interface/DDSplit.h"
00012 #include "DetectorDescription/Core/interface/DDTransform.h"
00013 #include "Geometry/CaloGeometry/interface/EcalTrapezoidParameters.h"
00014 #include "CLHEP/Geometry/Transform3D.h"
00015
00016 class DDEcalBarrelNewAlgo : public DDAlgorithm {
00017 public:
00018
00019 typedef EcalTrapezoidParameters Trap ;
00020 typedef HepGeom::Point3D<double> Pt3D ;
00021 typedef HepGeom::Transform3D Tf3D ;
00022 typedef HepGeom::ReflectZ3D RfZ3D ;
00023 typedef HepGeom::Translate3D Tl3D ;
00024 typedef HepGeom::Rotate3D Ro3D ;
00025 typedef HepGeom::RotateZ3D RoZ3D ;
00026 typedef HepGeom::RotateY3D RoY3D ;
00027 typedef HepGeom::RotateX3D RoX3D ;
00028
00029 typedef CLHEP::Hep3Vector Vec3 ;
00030 typedef CLHEP::HepRotation Rota ;
00031
00032
00033 DDEcalBarrelNewAlgo();
00034 virtual ~DDEcalBarrelNewAlgo();
00035
00036 void initialize(const DDNumericArguments & nArgs,
00037 const DDVectorArguments & vArgs,
00038 const DDMapArguments & mArgs,
00039 const DDStringArguments & sArgs,
00040 const DDStringVectorArguments & vsArgs);
00041 void execute(DDCompactView& cpv);
00042
00043 DDMaterial ddmat( const std::string& s ) const ;
00044 DDName ddname( const std::string& s ) const ;
00045 DDRotation myrot( const std::string& s,
00046 const CLHEP::HepRotation& r ) const ;
00047 DDSolid mytrap( const std::string& s,
00048 const Trap& t ) const ;
00049
00050 const std::string& idNameSpace() const { return m_idNameSpace ; }
00051
00052
00053 DDName barName() const { return ddname( m_BarName ) ; }
00054 DDMaterial barMat() const { return ddmat( m_BarMat ) ; }
00055 const std::vector<double>& vecBarZPts() const { return m_vecBarZPts ; }
00056 const std::vector<double>& vecBarRMin() const { return m_vecBarRMin ; }
00057 const std::vector<double>& vecBarRMax() const { return m_vecBarRMax ; }
00058 const std::vector<double>& vecBarTran() const { return m_vecBarTran ; }
00059 const std::vector<double>& vecBarRota() const { return m_vecBarRota ; }
00060 const std::vector<double>& vecBarRota2() const { return m_vecBarRota2 ; }
00061 const std::vector<double>& vecBarRota3() const { return m_vecBarRota3 ; }
00062 double barPhiLo() const { return m_BarPhiLo ; }
00063 double barPhiHi() const { return m_BarPhiHi ; }
00064 double barHere() const { return m_BarHere ; }
00065
00066 DDName spmName() const { return ddname( m_SpmName ) ; }
00067 DDMaterial spmMat() const { return ddmat( m_SpmMat ) ; }
00068 const std::vector<double>& vecSpmZPts() const { return m_vecSpmZPts ; }
00069 const std::vector<double>& vecSpmRMin() const { return m_vecSpmRMin ; }
00070 const std::vector<double>& vecSpmRMax() const { return m_vecSpmRMax ; }
00071 const std::vector<double>& vecSpmTran() const { return m_vecSpmTran ; }
00072 const std::vector<double>& vecSpmRota() const { return m_vecSpmRota ; }
00073 const std::vector<double>& vecSpmBTran() const { return m_vecSpmBTran ; }
00074 const std::vector<double>& vecSpmBRota() const { return m_vecSpmBRota ; }
00075 unsigned int spmNPerHalf() const { return m_SpmNPerHalf ; }
00076 double spmLowPhi() const { return m_SpmLowPhi ; }
00077 double spmDelPhi() const { return m_SpmDelPhi ; }
00078 double spmPhiOff() const { return m_SpmPhiOff ; }
00079 const std::vector<double>& vecSpmHere() const { return m_vecSpmHere ; }
00080 DDName spmCutName() const { return ddname( m_SpmCutName ) ; }
00081 double spmCutThick() const { return m_SpmCutThick ; }
00082 int spmCutShow() const { return m_SpmCutShow ; }
00083 double spmCutRM() const { return m_SpmCutRM ; }
00084 double spmCutRP() const { return m_SpmCutRP ; }
00085 const std::vector<double>& vecSpmCutTM() const { return m_vecSpmCutTM ; }
00086 const std::vector<double>& vecSpmCutTP() const { return m_vecSpmCutTP ; }
00087 double spmExpThick() const { return m_SpmExpThick ; }
00088 double spmExpWide() const { return m_SpmExpWide ; }
00089 double spmExpYOff() const { return m_SpmExpYOff ; }
00090 DDName spmSideName() const { return ddname( m_SpmSideName ) ; }
00091 DDMaterial spmSideMat() const { return ddmat( m_SpmSideMat ) ; }
00092 double spmSideHigh() const { return m_SpmSideHigh ; }
00093 double spmSideThick() const { return m_SpmSideThick ; }
00094 double spmSideYOffM() const { return m_SpmSideYOffM ; }
00095 double spmSideYOffP() const { return m_SpmSideYOffP ; }
00096
00097 double nomCryDimAF() const { return m_NomCryDimAF ; }
00098 double nomCryDimLZ() const { return m_NomCryDimLZ ; }
00099 const std::vector<double>& vecNomCryDimBF() const { return m_vecNomCryDimBF ; }
00100 const std::vector<double>& vecNomCryDimCF() const { return m_vecNomCryDimCF ; }
00101 const std::vector<double>& vecNomCryDimAR() const { return m_vecNomCryDimAR ; }
00102 const std::vector<double>& vecNomCryDimBR() const { return m_vecNomCryDimBR ; }
00103 const std::vector<double>& vecNomCryDimCR() const { return m_vecNomCryDimCR ; }
00104
00105 double underAF() const { return m_UnderAF ; }
00106 double underLZ() const { return m_UnderLZ ; }
00107 double underBF() const { return m_UnderBF ; }
00108 double underCF() const { return m_UnderCF ; }
00109 double underAR() const { return m_UnderAR ; }
00110 double underBR() const { return m_UnderBR ; }
00111 double underCR() const { return m_UnderCR ; }
00112
00113 double wallThAlv() const { return m_WallThAlv ; }
00114 double wrapThAlv() const { return m_WrapThAlv ; }
00115 double clrThAlv() const { return m_ClrThAlv ; }
00116 const std::vector<double>& vecGapAlvEta() const { return m_vecGapAlvEta ; }
00117
00118 double wallFrAlv() const { return m_WallFrAlv ; }
00119 double wrapFrAlv() const { return m_WrapFrAlv ; }
00120 double clrFrAlv() const { return m_ClrFrAlv ; }
00121
00122 double wallReAlv() const { return m_WallReAlv ; }
00123 double wrapReAlv() const { return m_WrapReAlv ; }
00124 double clrReAlv() const { return m_ClrReAlv ; }
00125
00126 unsigned int nCryTypes() const { return m_NCryTypes ; }
00127 unsigned int nCryPerAlvEta() const { return m_NCryPerAlvEta ; }
00128
00129 const std::string& cryName() const { return m_CryName ; }
00130 const std::string& clrName() const { return m_ClrName ; }
00131 const std::string& wrapName() const { return m_WrapName ; }
00132 const std::string& wallName() const { return m_WallName ; }
00133
00134 DDMaterial cryMat() const { return ddmat( m_CryMat ) ; }
00135 DDMaterial clrMat() const { return ddmat( m_ClrMat ) ; }
00136 DDMaterial wrapMat() const { return ddmat( m_WrapMat ) ; }
00137 DDMaterial wallMat() const { return ddmat( m_WallMat ) ; }
00138 DDName capName () const { return ddname(m_capName) ; }
00139 double capHere () const { return m_capHere ; }
00140 DDMaterial capMat () const { return ddmat(m_capMat) ; }
00141 double capXSize() const { return m_capXSize ; }
00142 double capYSize() const { return m_capYSize ; }
00143 double capThick() const { return m_capThick; }
00144
00145 DDName cerName () const { return ddname(m_CERName) ; }
00146 DDMaterial cerMat () const { return ddmat(m_CERMat) ; }
00147 double cerXSize() const { return m_CERXSize ; }
00148 double cerYSize() const { return m_CERYSize ; }
00149 double cerThick() const { return m_CERThick; }
00150
00151 DDName bsiName () const { return ddname(m_BSiName) ; }
00152 DDMaterial bsiMat () const { return ddmat(m_BSiMat) ; }
00153 double bsiXSize() const { return m_BSiXSize ; }
00154 double bsiYSize() const { return m_BSiYSize ; }
00155 double bsiThick() const { return m_BSiThick; }
00156
00157 DDName atjName () const { return ddname(m_ATJName) ; }
00158 DDMaterial atjMat () const { return ddmat(m_ATJMat) ; }
00159 double atjThick() const { return m_ATJThick; }
00160
00161 DDName sglName () const { return ddname(m_SGLName) ; }
00162 DDMaterial sglMat () const { return ddmat(m_SGLMat) ; }
00163 double sglThick() const { return m_SGLThick; }
00164
00165 DDName aglName () const { return ddname(m_AGLName) ; }
00166 DDMaterial aglMat () const { return ddmat(m_AGLMat) ; }
00167 double aglThick() const { return m_AGLThick; }
00168
00169 DDName andName () const { return ddname(m_ANDName) ; }
00170 DDMaterial andMat () const { return ddmat(m_ANDMat) ; }
00171 double andThick() const { return m_ANDThick; }
00172
00173 DDName apdName () const { return ddname(m_APDName) ; }
00174 DDMaterial apdMat () const { return ddmat(m_APDMat) ; }
00175 double apdSide () const { return m_APDSide ; }
00176 double apdThick() const { return m_APDThick; }
00177 double apdZ () const { return m_APDZ ; }
00178 double apdX1 () const { return m_APDX1 ; }
00179 double apdX2 () const { return m_APDX2 ; }
00180
00181 double webHere() const { return m_WebHere ; }
00182 const std::string& webPlName() const { return m_WebPlName ; }
00183 const std::string& webClrName() const { return m_WebClrName ; }
00184 DDMaterial webPlMat() const { return ddmat( m_WebPlMat ) ; }
00185 DDMaterial webClrMat() const { return ddmat( m_WebClrMat ) ; }
00186 const std::vector<double>& vecWebPlTh() const { return m_vecWebPlTh ; }
00187 const std::vector<double>& vecWebClrTh() const { return m_vecWebClrTh ; }
00188 const std::vector<double>& vecWebLength() const { return m_vecWebLength ; }
00189
00190 double ilyHere() const { return m_IlyHere ; }
00191 const std::string& ilyName() const { return m_IlyName ; }
00192 double ilyPhiLow() const { return m_IlyPhiLow ; }
00193 double ilyDelPhi() const { return m_IlyDelPhi ; }
00194 const std::vector<std::string>& vecIlyMat() const { return m_vecIlyMat ; }
00195 const std::vector<double>& vecIlyThick() const { return m_vecIlyThick ; }
00196
00197 const std::string& ilyPipeName () const { return m_IlyPipeName ;}
00198 double ilyPipeHere () const { return m_IlyPipeHere ;}
00199 DDMaterial ilyPipeMat () const { return ddmat(m_IlyPipeMat) ;}
00200 double ilyPipeOD () const { return m_IlyPipeOD ;}
00201 double ilyPipeID () const { return m_IlyPipeID ;}
00202 const std::vector<double>& vecIlyPipeLength() const { return m_vecIlyPipeLength ;}
00203 const std::vector<double>& vecIlyPipeType () const { return m_vecIlyPipeType ;}
00204 const std::vector<double>& vecIlyPipePhi () const { return m_vecIlyPipePhi ;}
00205 const std::vector<double>& vecIlyPipeZ () const { return m_vecIlyPipeZ ;}
00206
00207 DDName ilyPTMName () const { return ddname(m_IlyPTMName) ;}
00208 double ilyPTMHere () const { return m_IlyPTMHere ;}
00209 DDMaterial ilyPTMMat () const { return ddmat(m_IlyPTMMat) ;}
00210 double ilyPTMWidth () const { return m_IlyPTMWidth ;}
00211 double ilyPTMLength () const { return m_IlyPTMLength ;}
00212 double ilyPTMHeight () const { return m_IlyPTMHeight ;}
00213 const std::vector<double>& vecIlyPTMZ () const { return m_vecIlyPTMZ ;}
00214 const std::vector<double>& vecIlyPTMPhi () const { return m_vecIlyPTMPhi ;}
00215
00216 DDName ilyFanOutName () const { return ddname(m_IlyFanOutName) ;}
00217 double ilyFanOutHere () const { return m_IlyFanOutHere ;}
00218 DDMaterial ilyFanOutMat () const { return ddmat(m_IlyFanOutMat) ;}
00219 double ilyFanOutWidth () const { return m_IlyFanOutWidth ;}
00220 double ilyFanOutLength() const { return m_IlyFanOutLength;}
00221 double ilyFanOutHeight() const { return m_IlyFanOutHeight;}
00222 const std::vector<double>& vecIlyFanOutZ () const { return m_vecIlyFanOutZ ;}
00223 const std::vector<double>& vecIlyFanOutPhi() const { return m_vecIlyFanOutPhi;}
00224 DDName ilyDiffName () const { return ddname(m_IlyDiffName) ;}
00225 DDMaterial ilyDiffMat () const { return ddmat(m_IlyDiffMat) ;}
00226 double ilyDiffOff () const { return m_IlyDiffOff ;}
00227 double ilyDiffLength () const { return m_IlyDiffLength ;}
00228 DDName ilyBndlName () const { return ddname(m_IlyBndlName) ;}
00229 DDMaterial ilyBndlMat () const { return ddmat(m_IlyBndlMat) ;}
00230 double ilyBndlOff () const { return m_IlyBndlOff ;}
00231 double ilyBndlLength () const { return m_IlyBndlLength ;}
00232 DDName ilyFEMName () const { return ddname(m_IlyFEMName) ;}
00233 DDMaterial ilyFEMMat () const { return ddmat(m_IlyFEMMat) ;}
00234 double ilyFEMWidth () const { return m_IlyFEMWidth ;}
00235 double ilyFEMLength () const { return m_IlyFEMLength ;}
00236 double ilyFEMHeight () const { return m_IlyFEMHeight ;}
00237 const std::vector<double>& vecIlyFEMZ () const { return m_vecIlyFEMZ ;}
00238 const std::vector<double>& vecIlyFEMPhi () const { return m_vecIlyFEMPhi ;}
00239
00240 DDName hawRName() const { return ddname( m_HawRName ) ; }
00241 DDName fawName() const { return ddname( m_FawName ) ; }
00242 double fawHere( ) const { return m_FawHere ; }
00243 double hawRHBIG() const { return m_HawRHBIG ; }
00244 double hawRhsml() const { return m_HawRhsml ; }
00245 double hawRCutY() const { return m_HawRCutY ; }
00246 double hawRCutZ() const { return m_HawRCutZ ; }
00247 double hawRCutDelY() const { return m_HawRCutDelY ; }
00248 double hawYOffCry() const { return m_HawYOffCry ; }
00249
00250 unsigned int nFawPerSupm() const { return m_NFawPerSupm ; }
00251 double fawPhiOff() const { return m_FawPhiOff ; }
00252 double fawDelPhi() const { return m_FawDelPhi ; }
00253 double fawPhiRot() const { return m_FawPhiRot ; }
00254 double fawRadOff() const { return m_FawRadOff ; }
00255
00256 double gridHere() const { return m_GridHere ; }
00257 DDName gridName() const { return ddname( m_GridName ) ; }
00258 DDMaterial gridMat() const { return ddmat( m_GridMat ) ; }
00259 double gridThick() const { return m_GridThick ; }
00260
00261 double backHere() const { return m_BackHere ; }
00262 double backXOff() const { return m_BackXOff ; }
00263 double backYOff() const { return m_BackYOff ; }
00264 DDName backSideName() const { return ddname( m_BackSideName ) ; }
00265 double backSideHere() const { return m_BackSideHere ; }
00266 double backSideLength() const { return m_BackSideLength ; }
00267 double backSideHeight() const { return m_BackSideHeight ; }
00268 double backSideWidth() const { return m_BackSideWidth ; }
00269 double backSideYOff1() const { return m_BackSideYOff1 ; }
00270 double backSideYOff2() const { return m_BackSideYOff2 ; }
00271 double backSideAngle() const { return m_BackSideAngle ; }
00272 DDMaterial backSideMat() const { return ddmat( m_BackSideMat ) ; }
00273 DDName backPlateName() const { return ddname( m_BackPlateName ) ; }
00274 double backPlateHere() const { return m_BackPlateHere ; }
00275 double backPlateLength() const { return m_BackPlateLength ; }
00276 double backPlateThick() const { return m_BackPlateThick ; }
00277 double backPlateWidth() const { return m_BackPlateWidth ; }
00278 DDMaterial backPlateMat() const { return ddmat( m_BackPlateMat ) ; }
00279 DDName backPlate2Name() const { return ddname( m_BackPlate2Name ) ; }
00280 double backPlate2Thick() const { return m_BackPlate2Thick ; }
00281 DDMaterial backPlate2Mat() const { return ddmat( m_BackPlate2Mat ) ; }
00282 const std::string& grilleName() const { return m_GrilleName ; }
00283 double grilleThick() const { return m_GrilleThick ; }
00284 double grilleHere() const { return m_GrilleHere ; }
00285 double grilleWidth() const { return m_GrilleWidth ; }
00286 double grilleZSpace() const { return m_GrilleZSpace ; }
00287 DDMaterial grilleMat() const { return ddmat( m_GrilleMat ) ; }
00288 const std::vector<double>& vecGrilleHeight() const { return m_vecGrilleHeight ; }
00289 const std::vector<double>& vecGrilleZOff() const { return m_vecGrilleZOff ; }
00290
00291 DDName grEdgeSlotName () const { return ddname(m_GrEdgeSlotName) ; }
00292 DDMaterial grEdgeSlotMat () const { return ddmat(m_GrEdgeSlotMat) ; }
00293 double grEdgeSlotHere () const { return m_GrEdgeSlotHere ; }
00294 double grEdgeSlotHeight () const { return m_GrEdgeSlotHeight ; }
00295 double grEdgeSlotWidth () const { return m_GrEdgeSlotWidth ; }
00296 const std::string& grMidSlotName () const { return m_GrMidSlotName ; }
00297 DDMaterial grMidSlotMat () const { return ddmat(m_GrMidSlotMat) ; }
00298 double grMidSlotHere () const { return m_GrMidSlotHere ; }
00299 double grMidSlotWidth () const { return m_GrMidSlotWidth ; }
00300 double grMidSlotXOff () const { return m_GrMidSlotXOff ; }
00301 const std::vector<double>& vecGrMidSlotHeight() const { return m_vecGrMidSlotHeight; }
00302
00303 double backPipeHere() const { return m_BackPipeHere ; }
00304 const std::string& backPipeName() const { return m_BackPipeName ; }
00305 const std::vector<double>& vecBackPipeDiam() const { return m_vecBackPipeDiam ; }
00306 const std::vector<double>& vecBackPipeThick() const { return m_vecBackPipeThick ; }
00307 DDMaterial backPipeMat() const { return ddmat( m_BackPipeMat ) ; }
00308 DDMaterial backPipeWaterMat() const { return ddmat( m_BackPipeWaterMat ) ; }
00309 double backMiscHere() const { return m_BackMiscHere ; }
00310 const std::vector<double>& vecBackMiscThick() const { return m_vecBackMiscThick ; }
00311 const std::vector<std::string>& vecBackMiscName() const
00312 { return m_vecBackMiscName ; }
00313 const std::vector<std::string>& vecBackMiscMat() const
00314 { return m_vecBackMiscMat ; }
00315 double patchPanelHere() const { return m_PatchPanelHere ; }
00316 const std::vector<double>& vecPatchPanelThick() const { return m_vecPatchPanelThick ; }
00317 const std::vector<std::string>& vecPatchPanelNames() const
00318 { return m_vecPatchPanelNames ; }
00319 const std::vector<std::string>& vecPatchPanelMat() const
00320 { return m_vecPatchPanelMat ; }
00321 DDName patchPanelName() const { return ddname( m_PatchPanelName ) ; }
00322
00323 const std::vector<std::string>& vecBackCoolName() const { return m_vecBackCoolName ;}
00324 double backCoolHere() const { return m_BackCoolHere ; }
00325 double backCoolBarWidth () const { return m_BackCoolBarWidth ;}
00326 double backCoolBarHeight () const { return m_BackCoolBarHeight ;}
00327 DDMaterial backCoolMat () const { return ddmat(m_BackCoolMat) ;}
00328 double backCoolBarHere() const { return m_BackCoolBarHere ; }
00329 DDName backCoolBarName () const { return ddname(m_BackCoolBarName);}
00330 double backCoolBarThick () const { return m_BackCoolBarThick ;}
00331 DDMaterial backCoolBarMat () const { return ddmat(m_BackCoolBarMat) ;}
00332 DDName backCoolBarSSName () const { return ddname(m_BackCoolBarSSName);}
00333 double backCoolBarSSThick() const { return m_BackCoolBarSSThick ;}
00334 DDMaterial backCoolBarSSMat () const { return ddmat(m_BackCoolBarSSMat) ;}
00335 DDName backCoolBarWaName () const { return ddname(m_BackCoolBarWaName);}
00336 double backCoolBarWaThick() const { return m_BackCoolBarWaThick ;}
00337 DDMaterial backCoolBarWaMat () const { return ddmat(m_BackCoolBarWaMat) ;}
00338 double backCoolVFEHere() const { return m_BackCoolVFEHere ; }
00339 DDName backCoolVFEName () const { return ddname(m_BackCoolVFEName) ;}
00340 DDMaterial backCoolVFEMat () const { return ddmat(m_BackCoolVFEMat) ;}
00341 DDName backVFEName () const { return ddname(m_BackVFEName) ;}
00342 DDMaterial backVFEMat () const { return ddmat(m_BackVFEMat) ;}
00343 const std::vector<double>& vecBackVFELyrThick() const { return m_vecBackVFELyrThick ;}
00344 const std::vector<std::string>& vecBackVFELyrName () const { return m_vecBackVFELyrName ;}
00345 const std::vector<std::string>& vecBackVFELyrMat () const { return m_vecBackVFELyrMat ;}
00346 const std::vector<double>& vecBackCoolNSec () const { return m_vecBackCoolNSec ;}
00347 const std::vector<double>& vecBackCoolSecSep () const { return m_vecBackCoolSecSep ;}
00348 const std::vector<double>& vecBackCoolNPerSec() const { return m_vecBackCoolNPerSec ;}
00349 double backCBStdSep () const { return m_BackCBStdSep ;}
00350
00351 double backCoolTankHere() const { return m_BackCoolTankHere ; }
00352 const std::string& backCoolTankName () const { return m_BackCoolTankName ;}
00353 double backCoolTankWidth () const { return m_BackCoolTankWidth ;}
00354 double backCoolTankThick () const { return m_BackCoolTankThick ;}
00355 DDMaterial backCoolTankMat () const { return ddmat(m_BackCoolTankMat) ;}
00356 const std::string& backCoolTankWaName () const { return m_BackCoolTankWaName ;}
00357 double backCoolTankWaWidth() const { return m_BackCoolTankWaWidth;}
00358 DDMaterial backCoolTankWaMat () const { return ddmat(m_BackCoolTankWaMat) ;}
00359 const std::string& backBracketName () const { return m_BackBracketName ;}
00360 double backBracketHeight () const { return m_BackBracketHeight ;}
00361 DDMaterial backBracketMat () const { return ddmat(m_BackBracketMat) ;}
00362
00363 double dryAirTubeHere() const { return m_DryAirTubeHere ; }
00364 const std::string& dryAirTubeName () const { return m_DryAirTubeName ;}
00365 double mBCoolTubeNum () const { return m_MBCoolTubeNum ;}
00366 double dryAirTubeInnDiam () const { return m_DryAirTubeInnDiam ;}
00367 double dryAirTubeOutDiam () const { return m_DryAirTubeOutDiam ;}
00368 DDMaterial dryAirTubeMat () const { return ddmat(m_DryAirTubeMat) ;}
00369 double mBCoolTubeHere() const { return m_MBCoolTubeHere ; }
00370 const std::string& mBCoolTubeName () const { return m_MBCoolTubeName ;}
00371 double mBCoolTubeInnDiam () const { return m_MBCoolTubeInnDiam ;}
00372 double mBCoolTubeOutDiam () const { return m_MBCoolTubeOutDiam ;}
00373 DDMaterial mBCoolTubeMat () const { return ddmat(m_MBCoolTubeMat) ;}
00374 double mBManifHere() const { return m_MBManifHere ; }
00375 DDName mBManifName () const { return ddname(m_MBManifName) ;}
00376 double mBManifInnDiam () const { return m_MBManifInnDiam ;}
00377 double mBManifOutDiam () const { return m_MBManifOutDiam ;}
00378 DDMaterial mBManifMat () const { return ddmat(m_MBManifMat) ;}
00379 double mBLyrHere() const { return m_MBLyrHere ; }
00380 const std::vector<double>& vecMBLyrThick() const { return m_vecMBLyrThick ;}
00381 const std::vector<std::string>& vecMBLyrName () const { return m_vecMBLyrName ;}
00382 const std::vector<std::string>& vecMBLyrMat () const { return m_vecMBLyrMat ;}
00383
00384
00385
00386 double pincerRodHere () const { return m_PincerRodHere ;}
00387 DDName pincerRodName () const { return ddname(m_PincerRodName) ;}
00388 DDMaterial pincerRodMat () const { return ddmat(m_PincerRodMat) ;}
00389 std::vector<double> vecPincerRodAzimuth() const { return m_vecPincerRodAzimuth;}
00390 DDName pincerEnvName () const { return ddname(m_PincerEnvName) ;}
00391 DDMaterial pincerEnvMat () const { return ddmat(m_PincerEnvMat) ;}
00392 double pincerEnvWidth () const { return m_PincerEnvWidth ;}
00393 double pincerEnvHeight () const { return m_PincerEnvHeight ;}
00394 double pincerEnvLength () const { return m_PincerEnvLength ;}
00395 std::vector<double> vecPincerEnvZOff () const { return m_vecPincerEnvZOff ;}
00396
00397 DDName pincerBlkName () const { return ddname(m_PincerBlkName) ;}
00398 DDMaterial pincerBlkMat () const { return ddmat(m_PincerBlkMat) ;}
00399 double pincerBlkLength () const { return m_PincerBlkLength ;}
00400
00401 DDName pincerShim1Name () const { return ddname(m_PincerShim1Name) ;}
00402 double pincerShimHeight () const { return m_PincerShimHeight ;}
00403 DDName pincerShim2Name () const { return ddname(m_PincerShim2Name) ;}
00404 DDMaterial pincerShimMat () const { return ddmat(m_PincerShimMat) ;}
00405 double pincerShim1Width () const { return m_PincerShim1Width ;}
00406 double pincerShim2Width () const { return m_PincerShim2Width ;}
00407
00408 DDName pincerCutName () const { return ddname(m_PincerCutName) ;}
00409 DDMaterial pincerCutMat () const { return ddmat(m_PincerCutMat) ;}
00410 double pincerCutWidth () const { return m_PincerCutWidth ;}
00411 double pincerCutHeight () const { return m_PincerCutHeight ;}
00412
00413 protected:
00414
00415 private:
00416
00417 void web( unsigned int iWeb,
00418 double bWeb,
00419 double BWeb,
00420 double LWeb,
00421 double theta,
00422 const Pt3D& corner,
00423 const DDLogicalPart logPar,
00424 double& zee ,
00425 double side,
00426 double front,
00427 double delta,
00428 DDCompactView& cpv );
00429
00430 std::string m_idNameSpace;
00431
00432
00433 std::string m_BarName ;
00434 std::string m_BarMat ;
00435 std::vector<double> m_vecBarZPts ;
00436 std::vector<double> m_vecBarRMin ;
00437 std::vector<double> m_vecBarRMax ;
00438 std::vector<double> m_vecBarTran ;
00439 std::vector<double> m_vecBarRota ;
00440 std::vector<double> m_vecBarRota2;
00441 std::vector<double> m_vecBarRota3;
00442 double m_BarPhiLo ;
00443 double m_BarPhiHi ;
00444 double m_BarHere ;
00445
00446
00447 std::string m_SpmName ;
00448 std::string m_SpmMat ;
00449 std::vector<double> m_vecSpmZPts ;
00450 std::vector<double> m_vecSpmRMin ;
00451 std::vector<double> m_vecSpmRMax ;
00452 std::vector<double> m_vecSpmTran ;
00453 std::vector<double> m_vecSpmRota ;
00454 std::vector<double> m_vecSpmBTran ;
00455 std::vector<double> m_vecSpmBRota ;
00456 unsigned int m_SpmNPerHalf ;
00457 double m_SpmLowPhi ;
00458 double m_SpmDelPhi ;
00459 double m_SpmPhiOff ;
00460 std::vector<double> m_vecSpmHere ;
00461 std::string m_SpmCutName ;
00462 double m_SpmCutThick ;
00463 int m_SpmCutShow ;
00464 std::vector<double> m_vecSpmCutTM ;
00465 std::vector<double> m_vecSpmCutTP ;
00466 double m_SpmCutRM ;
00467 double m_SpmCutRP ;
00468 double m_SpmExpThick ;
00469 double m_SpmExpWide ;
00470 double m_SpmExpYOff ;
00471 std::string m_SpmSideName ;
00472 std::string m_SpmSideMat ;
00473 double m_SpmSideHigh ;
00474 double m_SpmSideThick;
00475 double m_SpmSideYOffM;
00476 double m_SpmSideYOffP;
00477
00478 double m_NomCryDimAF ;
00479 double m_NomCryDimLZ ;
00480 std::vector<double> m_vecNomCryDimBF ;
00481 std::vector<double> m_vecNomCryDimCF ;
00482 std::vector<double> m_vecNomCryDimAR ;
00483 std::vector<double> m_vecNomCryDimBR ;
00484 std::vector<double> m_vecNomCryDimCR ;
00485
00486 double m_UnderAF ;
00487 double m_UnderLZ ;
00488 double m_UnderBF ;
00489 double m_UnderCF ;
00490 double m_UnderAR ;
00491 double m_UnderBR ;
00492 double m_UnderCR ;
00493
00494 double m_WallThAlv ;
00495 double m_WrapThAlv ;
00496 double m_ClrThAlv ;
00497 std::vector<double> m_vecGapAlvEta ;
00498
00499 double m_WallFrAlv ;
00500 double m_WrapFrAlv ;
00501 double m_ClrFrAlv ;
00502
00503 double m_WallReAlv ;
00504 double m_WrapReAlv ;
00505 double m_ClrReAlv ;
00506
00507 unsigned int m_NCryTypes ;
00508 unsigned int m_NCryPerAlvEta ;
00509
00510 std::string m_CryName ;
00511 std::string m_ClrName ;
00512 std::string m_WrapName ;
00513 std::string m_WallName ;
00514
00515 std::string m_CryMat ;
00516 std::string m_ClrMat ;
00517 std::string m_WrapMat ;
00518 std::string m_WallMat ;
00519
00520 std::string m_capName ;
00521 double m_capHere ;
00522 std::string m_capMat ;
00523 double m_capXSize ;
00524 double m_capYSize ;
00525 double m_capThick ;
00526
00527 std::string m_CERName ;
00528 std::string m_CERMat ;
00529 double m_CERXSize ;
00530 double m_CERYSize ;
00531 double m_CERThick ;
00532
00533 std::string m_BSiName ;
00534 std::string m_BSiMat ;
00535 double m_BSiXSize ;
00536 double m_BSiYSize ;
00537 double m_BSiThick ;
00538
00539 std::string m_APDName ;
00540 std::string m_APDMat ;
00541 double m_APDSide ;
00542 double m_APDThick ;
00543 double m_APDZ ;
00544 double m_APDX1 ;
00545 double m_APDX2 ;
00546
00547 std::string m_ATJName ;
00548 std::string m_ATJMat ;
00549 double m_ATJThick ;
00550
00551 std::string m_SGLName ;
00552 std::string m_SGLMat ;
00553 double m_SGLThick ;
00554
00555 std::string m_AGLName ;
00556 std::string m_AGLMat ;
00557 double m_AGLThick ;
00558
00559 std::string m_ANDName ;
00560 std::string m_ANDMat ;
00561 double m_ANDThick ;
00562
00563 double m_WebHere ;
00564 std::string m_WebPlName ;
00565 std::string m_WebClrName ;
00566 std::string m_WebPlMat ;
00567 std::string m_WebClrMat ;
00568 std::vector<double> m_vecWebPlTh ;
00569 std::vector<double> m_vecWebClrTh ;
00570 std::vector<double> m_vecWebLength ;
00571
00572 double m_IlyHere ;
00573 std::string m_IlyName ;
00574 double m_IlyPhiLow ;
00575 double m_IlyDelPhi ;
00576 std::vector<std::string> m_vecIlyMat ;
00577 std::vector<double> m_vecIlyThick ;
00578
00579 std::string m_IlyPipeName ;
00580 double m_IlyPipeHere ;
00581 std::string m_IlyPipeMat ;
00582 double m_IlyPipeOD ;
00583 double m_IlyPipeID ;
00584 std::vector<double> m_vecIlyPipeLength ;
00585 std::vector<double> m_vecIlyPipeType ;
00586 std::vector<double> m_vecIlyPipePhi ;
00587 std::vector<double> m_vecIlyPipeZ ;
00588
00589 std::string m_IlyPTMName ;
00590 double m_IlyPTMHere ;
00591 std::string m_IlyPTMMat ;
00592 double m_IlyPTMWidth ;
00593 double m_IlyPTMLength ;
00594 double m_IlyPTMHeight ;
00595 std::vector<double> m_vecIlyPTMZ ;
00596 std::vector<double> m_vecIlyPTMPhi ;
00597
00598 std::string m_IlyFanOutName ;
00599 double m_IlyFanOutHere ;
00600 std::string m_IlyFanOutMat ;
00601 double m_IlyFanOutWidth ;
00602 double m_IlyFanOutLength ;
00603 double m_IlyFanOutHeight ;
00604 std::vector<double> m_vecIlyFanOutZ ;
00605 std::vector<double> m_vecIlyFanOutPhi ;
00606 std::string m_IlyDiffName ;
00607 std::string m_IlyDiffMat ;
00608 double m_IlyDiffOff ;
00609 double m_IlyDiffLength ;
00610 std::string m_IlyBndlName ;
00611 std::string m_IlyBndlMat ;
00612 double m_IlyBndlOff ;
00613 double m_IlyBndlLength ;
00614 std::string m_IlyFEMName ;
00615 std::string m_IlyFEMMat ;
00616 double m_IlyFEMWidth ;
00617 double m_IlyFEMLength ;
00618 double m_IlyFEMHeight ;
00619 std::vector<double> m_vecIlyFEMZ ;
00620 std::vector<double> m_vecIlyFEMPhi ;
00621
00622
00623 std::string m_HawRName ;
00624 std::string m_FawName ;
00625 double m_FawHere ;
00626 double m_HawRHBIG ;
00627 double m_HawRhsml ;
00628 double m_HawRCutY ;
00629 double m_HawRCutZ ;
00630 double m_HawRCutDelY ;
00631 double m_HawYOffCry ;
00632 unsigned int m_NFawPerSupm ;
00633 double m_FawPhiOff ;
00634 double m_FawDelPhi ;
00635 double m_FawPhiRot ;
00636 double m_FawRadOff ;
00637
00638 double m_GridHere ;
00639 std::string m_GridName ;
00640 std::string m_GridMat ;
00641 double m_GridThick ;
00642
00643 double m_BackXOff ;
00644 double m_BackYOff ;
00645
00646 double m_BackHere ;
00647 std::string m_BackSideName ;
00648 double m_BackSideHere ;
00649 double m_BackSideLength ;
00650 double m_BackSideHeight ;
00651 double m_BackSideWidth ;
00652 double m_BackSideYOff1 ;
00653 double m_BackSideYOff2 ;
00654 double m_BackSideAngle ;
00655 std::string m_BackSideMat ;
00656 std::string m_BackPlateName ;
00657 double m_BackPlateHere ;
00658 double m_BackPlateLength ;
00659 double m_BackPlateThick ;
00660 double m_BackPlateWidth ;
00661 std::string m_BackPlateMat ;
00662 std::string m_BackPlate2Name ;
00663 double m_BackPlate2Thick ;
00664 std::string m_BackPlate2Mat ;
00665 std::string m_GrilleName ;
00666 double m_GrilleHere ;
00667 double m_GrilleThick ;
00668 double m_GrilleWidth ;
00669 double m_GrilleZSpace ;
00670 std::string m_GrilleMat ;
00671 std::vector<double> m_vecGrilleHeight ;
00672 std::vector<double> m_vecGrilleZOff ;
00673
00674 std::string m_GrEdgeSlotName ;
00675 std::string m_GrEdgeSlotMat ;
00676 double m_GrEdgeSlotHere ;
00677 double m_GrEdgeSlotHeight ;
00678 double m_GrEdgeSlotWidth ;
00679
00680 std::string m_GrMidSlotName ;
00681 std::string m_GrMidSlotMat ;
00682 double m_GrMidSlotHere ;
00683 double m_GrMidSlotWidth ;
00684 double m_GrMidSlotXOff ;
00685 std::vector<double> m_vecGrMidSlotHeight ;
00686
00687 double m_BackPipeHere ;
00688 std::string m_BackPipeName ;
00689 std::vector<double> m_vecBackPipeDiam ;
00690 std::vector<double> m_vecBackPipeThick ;
00691 std::string m_BackPipeMat ;
00692 std::string m_BackPipeWaterMat ;
00693
00694 std::vector<std::string> m_vecBackCoolName ;
00695 double m_BackCoolHere ;
00696 double m_BackCoolBarHere ;
00697 double m_BackCoolBarWidth ;
00698 double m_BackCoolBarHeight ;
00699 std::string m_BackCoolMat ;
00700 std::string m_BackCoolBarName ;
00701 double m_BackCoolBarThick ;
00702 std::string m_BackCoolBarMat ;
00703 std::string m_BackCoolBarSSName ;
00704 double m_BackCoolBarSSThick ;
00705 std::string m_BackCoolBarSSMat ;
00706 std::string m_BackCoolBarWaName ;
00707 double m_BackCoolBarWaThick ;
00708 std::string m_BackCoolBarWaMat ;
00709 double m_BackCoolVFEHere ;
00710 std::string m_BackCoolVFEName ;
00711 std::string m_BackCoolVFEMat ;
00712 std::string m_BackVFEName ;
00713 std::string m_BackVFEMat ;
00714 std::vector<double> m_vecBackVFELyrThick ;
00715 std::vector<std::string> m_vecBackVFELyrName ;
00716 std::vector<std::string> m_vecBackVFELyrMat ;
00717 std::vector<double> m_vecBackCoolNSec ;
00718 std::vector<double> m_vecBackCoolSecSep ;
00719 std::vector<double> m_vecBackCoolNPerSec ;
00720 double m_BackMiscHere ;
00721 std::vector<double> m_vecBackMiscThick ;
00722 std::vector<std::string> m_vecBackMiscName ;
00723 std::vector<std::string> m_vecBackMiscMat ;
00724 double m_BackCBStdSep ;
00725
00726 double m_PatchPanelHere ;
00727 std::string m_PatchPanelName ;
00728 std::vector<double> m_vecPatchPanelThick ;
00729 std::vector<std::string> m_vecPatchPanelNames ;
00730 std::vector<std::string> m_vecPatchPanelMat ;
00731
00732 double m_BackCoolTankHere ;
00733 std::string m_BackCoolTankName ;
00734 double m_BackCoolTankWidth ;
00735 double m_BackCoolTankThick ;
00736 std::string m_BackCoolTankMat ;
00737 std::string m_BackCoolTankWaName ;
00738 double m_BackCoolTankWaWidth ;
00739 std::string m_BackCoolTankWaMat ;
00740 std::string m_BackBracketName ;
00741 double m_BackBracketHeight ;
00742 std::string m_BackBracketMat ;
00743
00744 double m_DryAirTubeHere ;
00745 std::string m_DryAirTubeName ;
00746 unsigned int m_MBCoolTubeNum ;
00747 double m_DryAirTubeInnDiam ;
00748 double m_DryAirTubeOutDiam ;
00749 std::string m_DryAirTubeMat ;
00750 double m_MBCoolTubeHere ;
00751 std::string m_MBCoolTubeName ;
00752 double m_MBCoolTubeInnDiam ;
00753 double m_MBCoolTubeOutDiam ;
00754 std::string m_MBCoolTubeMat ;
00755 double m_MBManifHere ;
00756 std::string m_MBManifName ;
00757 double m_MBManifInnDiam ;
00758 double m_MBManifOutDiam ;
00759 std::string m_MBManifMat ;
00760 double m_MBLyrHere ;
00761 std::vector<double> m_vecMBLyrThick ;
00762 std::vector<std::string> m_vecMBLyrName ;
00763 std::vector<std::string> m_vecMBLyrMat ;
00764
00765
00766
00767 double m_PincerRodHere ;
00768 std::string m_PincerRodName ;
00769 std::string m_PincerRodMat ;
00770 std::vector<double> m_vecPincerRodAzimuth;
00771
00772 std::string m_PincerEnvName ;
00773 std::string m_PincerEnvMat ;
00774 double m_PincerEnvWidth ;
00775 double m_PincerEnvHeight ;
00776 double m_PincerEnvLength ;
00777 std::vector<double> m_vecPincerEnvZOff ;
00778
00779 std::string m_PincerBlkName ;
00780 std::string m_PincerBlkMat ;
00781 double m_PincerBlkLength ;
00782
00783 std::string m_PincerShim1Name ;
00784 double m_PincerShimHeight ;
00785 std::string m_PincerShim2Name ;
00786 std::string m_PincerShimMat ;
00787 double m_PincerShim1Width ;
00788 double m_PincerShim2Width ;
00789
00790 std::string m_PincerCutName ;
00791 std::string m_PincerCutMat ;
00792 double m_PincerCutWidth ;
00793 double m_PincerCutHeight ;
00794
00795 };
00796
00797 #endif