00001 #ifndef DD_EcalBarrelAlgo_h
00002 #define DD_EcalBarrelAlgo_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/DDPosPart.h"
00013 #include "DetectorDescription/Core/interface/DDTransform.h"
00014 #include "Geometry/CaloGeometry/interface/EcalTrapezoidParameters.h"
00015
00016 class DDEcalBarrelAlgo : public DDAlgorithm {
00017 public:
00018
00019 typedef EcalTrapezoidParameters Trap ;
00020 typedef HepPoint3D Pt3D ;
00021 typedef HepTransform3D Tf3D ;
00022 typedef HepReflectZ3D RfZ3D ;
00023 typedef HepTranslate3D Tl3D ;
00024 typedef HepRotate3D Ro3D ;
00025 typedef HepRotateZ3D RoZ3D ;
00026 typedef HepRotateY3D RoY3D ;
00027 typedef HepRotateX3D RoX3D ;
00028
00029 typedef Hep3Vector Vec3 ;
00030 typedef HepRotation Rota ;
00031
00032
00033 DDEcalBarrelAlgo();
00034 virtual ~DDEcalBarrelAlgo();
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();
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 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
00139 DDName apdName () const { return ddname(m_APDName) ; }
00140 double apdHere () const { return m_APDHere ; }
00141 DDMaterial apdMat () const { return ddmat(m_APDMat) ; }
00142 double apdSide () const { return m_APDSide ; }
00143 double apdThick() const { return m_APDThick; }
00144 double apdZ () const { return m_APDZ ; }
00145 double apdX1 () const { return m_APDX1 ; }
00146 double apdX2 () const { return m_APDX2 ; }
00147
00148 double webHere() const { return m_WebHere ; }
00149 const std::string& webPlName() const { return m_WebPlName ; }
00150 const std::string& webClrName() const { return m_WebClrName ; }
00151 DDMaterial webPlMat() const { return ddmat( m_WebPlMat ) ; }
00152 DDMaterial webClrMat() const { return ddmat( m_WebClrMat ) ; }
00153 const std::vector<double>& vecWebPlTh() const { return m_vecWebPlTh ; }
00154 const std::vector<double>& vecWebClrTh() const { return m_vecWebClrTh ; }
00155 const std::vector<double>& vecWebLength() const { return m_vecWebLength ; }
00156
00157 double ilyHere() const { return m_IlyHere ; }
00158 const std::string& ilyName() const { return m_IlyName ; }
00159 double ilyPhiLow() const { return m_IlyPhiLow ; }
00160 double ilyDelPhi() const { return m_IlyDelPhi ; }
00161 const std::vector<std::string>& vecIlyMat() const { return m_vecIlyMat ; }
00162 const std::vector<double>& vecIlyThick() const { return m_vecIlyThick ; }
00163
00164 const std::string& ilyPipeName () const { return m_IlyPipeName ;}
00165 double ilyPipeHere () const { return m_IlyPipeHere ;}
00166 DDMaterial ilyPipeMat () const { return ddmat(m_IlyPipeMat) ;}
00167 double ilyPipeOD () const { return m_IlyPipeOD ;}
00168 double ilyPipeID () const { return m_IlyPipeID ;}
00169 const std::vector<double>& vecIlyPipeLength() const { return m_vecIlyPipeLength ;}
00170 const std::vector<double>& vecIlyPipeType () const { return m_vecIlyPipeType ;}
00171 const std::vector<double>& vecIlyPipePhi () const { return m_vecIlyPipePhi ;}
00172 const std::vector<double>& vecIlyPipeZ () const { return m_vecIlyPipeZ ;}
00173
00174 DDName ilyPTMName () const { return ddname(m_IlyPTMName) ;}
00175 double ilyPTMHere () const { return m_IlyPTMHere ;}
00176 DDMaterial ilyPTMMat () const { return ddmat(m_IlyPTMMat) ;}
00177 double ilyPTMWidth () const { return m_IlyPTMWidth ;}
00178 double ilyPTMLength () const { return m_IlyPTMLength ;}
00179 double ilyPTMHeight () const { return m_IlyPTMHeight ;}
00180 const std::vector<double>& vecIlyPTMZ () const { return m_vecIlyPTMZ ;}
00181 const std::vector<double>& vecIlyPTMPhi () const { return m_vecIlyPTMPhi ;}
00182
00183 DDName ilyFanOutName () const { return ddname(m_IlyFanOutName) ;}
00184 double ilyFanOutHere () const { return m_IlyFanOutHere ;}
00185 DDMaterial ilyFanOutMat () const { return ddmat(m_IlyFanOutMat) ;}
00186 double ilyFanOutWidth () const { return m_IlyFanOutWidth ;}
00187 double ilyFanOutLength() const { return m_IlyFanOutLength;}
00188 double ilyFanOutHeight() const { return m_IlyFanOutHeight;}
00189 const std::vector<double>& vecIlyFanOutZ () const { return m_vecIlyFanOutZ ;}
00190 const std::vector<double>& vecIlyFanOutPhi() const { return m_vecIlyFanOutPhi;}
00191 DDName ilyDiffName () const { return ddname(m_IlyDiffName) ;}
00192 DDMaterial ilyDiffMat () const { return ddmat(m_IlyDiffMat) ;}
00193 double ilyDiffOff () const { return m_IlyDiffOff ;}
00194 double ilyDiffLength () const { return m_IlyDiffLength ;}
00195 DDName ilyBndlName () const { return ddname(m_IlyBndlName) ;}
00196 DDMaterial ilyBndlMat () const { return ddmat(m_IlyBndlMat) ;}
00197 double ilyBndlOff () const { return m_IlyBndlOff ;}
00198 double ilyBndlLength () const { return m_IlyBndlLength ;}
00199 DDName ilyFEMName () const { return ddname(m_IlyFEMName) ;}
00200 DDMaterial ilyFEMMat () const { return ddmat(m_IlyFEMMat) ;}
00201 double ilyFEMWidth () const { return m_IlyFEMWidth ;}
00202 double ilyFEMLength () const { return m_IlyFEMLength ;}
00203 double ilyFEMHeight () const { return m_IlyFEMHeight ;}
00204 const std::vector<double>& vecIlyFEMZ () const { return m_vecIlyFEMZ ;}
00205 const std::vector<double>& vecIlyFEMPhi () const { return m_vecIlyFEMPhi ;}
00206
00207 DDName hawRName() const { return ddname( m_HawRName ) ; }
00208 DDName fawName() const { return ddname( m_FawName ) ; }
00209 double fawHere( ) const { return m_FawHere ; }
00210 double hawRHBIG() const { return m_HawRHBIG ; }
00211 double hawRhsml() const { return m_HawRhsml ; }
00212 double hawRCutY() const { return m_HawRCutY ; }
00213 double hawRCutZ() const { return m_HawRCutZ ; }
00214 double hawRCutDelY() const { return m_HawRCutDelY ; }
00215 double hawYOffCry() const { return m_HawYOffCry ; }
00216
00217 unsigned int nFawPerSupm() const { return m_NFawPerSupm ; }
00218 double fawPhiOff() const { return m_FawPhiOff ; }
00219 double fawDelPhi() const { return m_FawDelPhi ; }
00220 double fawPhiRot() const { return m_FawPhiRot ; }
00221 double fawRadOff() const { return m_FawRadOff ; }
00222
00223 double gridHere() const { return m_GridHere ; }
00224 DDName gridName() const { return ddname( m_GridName ) ; }
00225 DDMaterial gridMat() const { return ddmat( m_GridMat ) ; }
00226 double gridThick() const { return m_GridThick ; }
00227
00228 double backHere() const { return m_BackHere ; }
00229 double backXOff() const { return m_BackXOff ; }
00230 double backYOff() const { return m_BackYOff ; }
00231 DDName backSideName() const { return ddname( m_BackSideName ) ; }
00232 double backSideHere() const { return m_BackSideHere ; }
00233 double backSideLength() const { return m_BackSideLength ; }
00234 double backSideHeight() const { return m_BackSideHeight ; }
00235 double backSideWidth() const { return m_BackSideWidth ; }
00236 double backSideYOff1() const { return m_BackSideYOff1 ; }
00237 double backSideYOff2() const { return m_BackSideYOff2 ; }
00238 double backSideAngle() const { return m_BackSideAngle ; }
00239 DDMaterial backSideMat() const { return ddmat( m_BackSideMat ) ; }
00240 DDName backPlateName() const { return ddname( m_BackPlateName ) ; }
00241 double backPlateHere() const { return m_BackPlateHere ; }
00242 double backPlateLength() const { return m_BackPlateLength ; }
00243 double backPlateThick() const { return m_BackPlateThick ; }
00244 double backPlateWidth() const { return m_BackPlateWidth ; }
00245 DDMaterial backPlateMat() const { return ddmat( m_BackPlateMat ) ; }
00246 DDName backPlate2Name() const { return ddname( m_BackPlate2Name ) ; }
00247 double backPlate2Thick() const { return m_BackPlate2Thick ; }
00248 DDMaterial backPlate2Mat() const { return ddmat( m_BackPlate2Mat ) ; }
00249 const std::string& grilleName() const { return m_GrilleName ; }
00250 double grilleThick() const { return m_GrilleThick ; }
00251 double grilleHere() const { return m_GrilleHere ; }
00252 double grilleWidth() const { return m_GrilleWidth ; }
00253 double grilleZSpace() const { return m_GrilleZSpace ; }
00254 DDMaterial grilleMat() const { return ddmat( m_GrilleMat ) ; }
00255 const std::vector<double>& vecGrilleHeight() const { return m_vecGrilleHeight ; }
00256 const std::vector<double>& vecGrilleZOff() const { return m_vecGrilleZOff ; }
00257
00258 DDName grEdgeSlotName () const { return ddname(m_GrEdgeSlotName) ; }
00259 DDMaterial grEdgeSlotMat () const { return ddmat(m_GrEdgeSlotMat) ; }
00260 double grEdgeSlotHere () const { return m_GrEdgeSlotHere ; }
00261 double grEdgeSlotHeight () const { return m_GrEdgeSlotHeight ; }
00262 double grEdgeSlotWidth () const { return m_GrEdgeSlotWidth ; }
00263 const std::string& grMidSlotName () const { return m_GrMidSlotName ; }
00264 DDMaterial grMidSlotMat () const { return ddmat(m_GrMidSlotMat) ; }
00265 double grMidSlotHere () const { return m_GrMidSlotHere ; }
00266 double grMidSlotWidth () const { return m_GrMidSlotWidth ; }
00267 double grMidSlotXOff () const { return m_GrMidSlotXOff ; }
00268 const std::vector<double>& vecGrMidSlotHeight() const { return m_vecGrMidSlotHeight; }
00269
00270 double backPipeHere() const { return m_BackPipeHere ; }
00271 const std::string& backPipeName() const { return m_BackPipeName ; }
00272 const std::vector<double>& vecBackPipeDiam() const { return m_vecBackPipeDiam ; }
00273 const std::vector<double>& vecBackPipeThick() const { return m_vecBackPipeThick ; }
00274 DDMaterial backPipeMat() const { return ddmat( m_BackPipeMat ) ; }
00275 DDMaterial backPipeWaterMat() const { return ddmat( m_BackPipeWaterMat ) ; }
00276 double backMiscHere() const { return m_BackMiscHere ; }
00277 const std::vector<double>& vecBackMiscThick() const { return m_vecBackMiscThick ; }
00278 const std::vector<std::string>& vecBackMiscName() const
00279 { return m_vecBackMiscName ; }
00280 const std::vector<std::string>& vecBackMiscMat() const
00281 { return m_vecBackMiscMat ; }
00282 double patchPanelHere() const { return m_PatchPanelHere ; }
00283 const std::vector<double>& vecPatchPanelThick() const { return m_vecPatchPanelThick ; }
00284 const std::vector<std::string>& vecPatchPanelNames() const
00285 { return m_vecPatchPanelNames ; }
00286 const std::vector<std::string>& vecPatchPanelMat() const
00287 { return m_vecPatchPanelMat ; }
00288 DDName patchPanelName() const { return ddname( m_PatchPanelName ) ; }
00289
00290 const std::vector<std::string>& vecBackCoolName() const { return m_vecBackCoolName ;}
00291 double backCoolHere() const { return m_BackCoolHere ; }
00292 double backCoolBarWidth () const { return m_BackCoolBarWidth ;}
00293 double backCoolBarHeight () const { return m_BackCoolBarHeight ;}
00294 DDMaterial backCoolMat () const { return ddmat(m_BackCoolMat) ;}
00295 double backCoolBarHere() const { return m_BackCoolBarHere ; }
00296 DDName backCoolBarName () const { return ddname(m_BackCoolBarName);}
00297 double backCoolBarThick () const { return m_BackCoolBarThick ;}
00298 DDMaterial backCoolBarMat () const { return ddmat(m_BackCoolBarMat) ;}
00299 DDName backCoolBarSSName () const { return ddname(m_BackCoolBarSSName);}
00300 double backCoolBarSSThick() const { return m_BackCoolBarSSThick ;}
00301 DDMaterial backCoolBarSSMat () const { return ddmat(m_BackCoolBarSSMat) ;}
00302 DDName backCoolBarWaName () const { return ddname(m_BackCoolBarWaName);}
00303 double backCoolBarWaThick() const { return m_BackCoolBarWaThick ;}
00304 DDMaterial backCoolBarWaMat () const { return ddmat(m_BackCoolBarWaMat) ;}
00305 double backCoolVFEHere() const { return m_BackCoolVFEHere ; }
00306 DDName backCoolVFEName () const { return ddname(m_BackCoolVFEName) ;}
00307 DDMaterial backCoolVFEMat () const { return ddmat(m_BackCoolVFEMat) ;}
00308 DDName backVFEName () const { return ddname(m_BackVFEName) ;}
00309 DDMaterial backVFEMat () const { return ddmat(m_BackVFEMat) ;}
00310 const std::vector<double>& vecBackVFELyrThick() const { return m_vecBackVFELyrThick ;}
00311 const std::vector<std::string>& vecBackVFELyrName () const { return m_vecBackVFELyrName ;}
00312 const std::vector<std::string>& vecBackVFELyrMat () const { return m_vecBackVFELyrMat ;}
00313 const std::vector<double>& vecBackCoolNSec () const { return m_vecBackCoolNSec ;}
00314 const std::vector<double>& vecBackCoolSecSep () const { return m_vecBackCoolSecSep ;}
00315 const std::vector<double>& vecBackCoolNPerSec() const { return m_vecBackCoolNPerSec ;}
00316 double backCBStdSep () const { return m_BackCBStdSep ;}
00317
00318 double backCoolTankHere() const { return m_BackCoolTankHere ; }
00319 const std::string& backCoolTankName () const { return m_BackCoolTankName ;}
00320 double backCoolTankWidth () const { return m_BackCoolTankWidth ;}
00321 double backCoolTankThick () const { return m_BackCoolTankThick ;}
00322 DDMaterial backCoolTankMat () const { return ddmat(m_BackCoolTankMat) ;}
00323 const std::string& backCoolTankWaName () const { return m_BackCoolTankWaName ;}
00324 double backCoolTankWaWidth() const { return m_BackCoolTankWaWidth;}
00325 DDMaterial backCoolTankWaMat () const { return ddmat(m_BackCoolTankWaMat) ;}
00326 const std::string& backBracketName () const { return m_BackBracketName ;}
00327 double backBracketHeight () const { return m_BackBracketHeight ;}
00328 DDMaterial backBracketMat () const { return ddmat(m_BackBracketMat) ;}
00329
00330 double dryAirTubeHere() const { return m_DryAirTubeHere ; }
00331 const std::string& dryAirTubeName () const { return m_DryAirTubeName ;}
00332 double mBCoolTubeNum () const { return m_MBCoolTubeNum ;}
00333 double dryAirTubeInnDiam () const { return m_DryAirTubeInnDiam ;}
00334 double dryAirTubeOutDiam () const { return m_DryAirTubeOutDiam ;}
00335 DDMaterial dryAirTubeMat () const { return ddmat(m_DryAirTubeMat) ;}
00336 double mBCoolTubeHere() const { return m_MBCoolTubeHere ; }
00337 const std::string& mBCoolTubeName () const { return m_MBCoolTubeName ;}
00338 double mBCoolTubeInnDiam () const { return m_MBCoolTubeInnDiam ;}
00339 double mBCoolTubeOutDiam () const { return m_MBCoolTubeOutDiam ;}
00340 DDMaterial mBCoolTubeMat () const { return ddmat(m_MBCoolTubeMat) ;}
00341 double mBManifHere() const { return m_MBManifHere ; }
00342 DDName mBManifName () const { return ddname(m_MBManifName) ;}
00343 double mBManifInnDiam () const { return m_MBManifInnDiam ;}
00344 double mBManifOutDiam () const { return m_MBManifOutDiam ;}
00345 DDMaterial mBManifMat () const { return ddmat(m_MBManifMat) ;}
00346 double mBLyrHere() const { return m_MBLyrHere ; }
00347 const std::vector<double>& vecMBLyrThick() const { return m_vecMBLyrThick ;}
00348 const std::vector<std::string>& vecMBLyrName () const { return m_vecMBLyrName ;}
00349 const std::vector<std::string>& vecMBLyrMat () const { return m_vecMBLyrMat ;}
00350
00351
00352
00353 double pincerRodHere () const { return m_PincerRodHere ;}
00354 DDName pincerRodName () const { return ddname(m_PincerRodName) ;}
00355 DDMaterial pincerRodMat () const { return ddmat(m_PincerRodMat) ;}
00356 std::vector<double> vecPincerRodAzimuth() const { return m_vecPincerRodAzimuth;}
00357 DDName pincerEnvName () const { return ddname(m_PincerEnvName) ;}
00358 DDMaterial pincerEnvMat () const { return ddmat(m_PincerEnvMat) ;}
00359 double pincerEnvWidth () const { return m_PincerEnvWidth ;}
00360 double pincerEnvHeight () const { return m_PincerEnvHeight ;}
00361 double pincerEnvLength () const { return m_PincerEnvLength ;}
00362 std::vector<double> vecPincerEnvZOff () const { return m_vecPincerEnvZOff ;}
00363
00364 DDName pincerBlkName () const { return ddname(m_PincerBlkName) ;}
00365 DDMaterial pincerBlkMat () const { return ddmat(m_PincerBlkMat) ;}
00366 double pincerBlkLength () const { return m_PincerBlkLength ;}
00367
00368 DDName pincerShim1Name () const { return ddname(m_PincerShim1Name) ;}
00369 double pincerShimHeight () const { return m_PincerShimHeight ;}
00370 DDName pincerShim2Name () const { return ddname(m_PincerShim2Name) ;}
00371 DDMaterial pincerShimMat () const { return ddmat(m_PincerShimMat) ;}
00372 double pincerShim1Width () const { return m_PincerShim1Width ;}
00373 double pincerShim2Width () const { return m_PincerShim2Width ;}
00374
00375 DDName pincerCutName () const { return ddname(m_PincerCutName) ;}
00376 DDMaterial pincerCutMat () const { return ddmat(m_PincerCutMat) ;}
00377 double pincerCutWidth () const { return m_PincerCutWidth ;}
00378 double pincerCutHeight () const { return m_PincerCutHeight ;}
00379
00380 protected:
00381
00382 private:
00383
00384 void web( unsigned int iWeb,
00385 double bWeb,
00386 double BWeb,
00387 double LWeb,
00388 double theta,
00389 const Pt3D& corner,
00390 const DDLogicalPart logPar,
00391 double& zee ,
00392 double side,
00393 double front,
00394 double delta ) ;
00395
00396 std::string m_idNameSpace;
00397
00398
00399 std::string m_BarName ;
00400 std::string m_BarMat ;
00401 std::vector<double> m_vecBarZPts ;
00402 std::vector<double> m_vecBarRMin ;
00403 std::vector<double> m_vecBarRMax ;
00404 std::vector<double> m_vecBarTran ;
00405 std::vector<double> m_vecBarRota ;
00406 std::vector<double> m_vecBarRota2;
00407 std::vector<double> m_vecBarRota3;
00408 double m_BarPhiLo ;
00409 double m_BarPhiHi ;
00410 double m_BarHere ;
00411
00412
00413 std::string m_SpmName ;
00414 std::string m_SpmMat ;
00415 std::vector<double> m_vecSpmZPts ;
00416 std::vector<double> m_vecSpmRMin ;
00417 std::vector<double> m_vecSpmRMax ;
00418 std::vector<double> m_vecSpmTran ;
00419 std::vector<double> m_vecSpmRota ;
00420 std::vector<double> m_vecSpmBTran ;
00421 std::vector<double> m_vecSpmBRota ;
00422 unsigned int m_SpmNPerHalf ;
00423 double m_SpmLowPhi ;
00424 double m_SpmDelPhi ;
00425 double m_SpmPhiOff ;
00426 std::vector<double> m_vecSpmHere ;
00427 std::string m_SpmCutName ;
00428 double m_SpmCutThick ;
00429 int m_SpmCutShow ;
00430 std::vector<double> m_vecSpmCutTM ;
00431 std::vector<double> m_vecSpmCutTP ;
00432 double m_SpmCutRM ;
00433 double m_SpmCutRP ;
00434 double m_SpmExpThick ;
00435 double m_SpmExpWide ;
00436 double m_SpmExpYOff ;
00437 std::string m_SpmSideName ;
00438 std::string m_SpmSideMat ;
00439 double m_SpmSideHigh ;
00440 double m_SpmSideThick;
00441 double m_SpmSideYOffM;
00442 double m_SpmSideYOffP;
00443
00444 double m_NomCryDimAF ;
00445 double m_NomCryDimLZ ;
00446 std::vector<double> m_vecNomCryDimBF ;
00447 std::vector<double> m_vecNomCryDimCF ;
00448 std::vector<double> m_vecNomCryDimAR ;
00449 std::vector<double> m_vecNomCryDimBR ;
00450 std::vector<double> m_vecNomCryDimCR ;
00451
00452 double m_UnderAF ;
00453 double m_UnderLZ ;
00454 double m_UnderBF ;
00455 double m_UnderCF ;
00456 double m_UnderAR ;
00457 double m_UnderBR ;
00458 double m_UnderCR ;
00459
00460 double m_WallThAlv ;
00461 double m_WrapThAlv ;
00462 double m_ClrThAlv ;
00463 std::vector<double> m_vecGapAlvEta ;
00464
00465 double m_WallFrAlv ;
00466 double m_WrapFrAlv ;
00467 double m_ClrFrAlv ;
00468
00469 double m_WallReAlv ;
00470 double m_WrapReAlv ;
00471 double m_ClrReAlv ;
00472
00473 unsigned int m_NCryTypes ;
00474 unsigned int m_NCryPerAlvEta ;
00475
00476 std::string m_CryName ;
00477 std::string m_ClrName ;
00478 std::string m_WrapName ;
00479 std::string m_WallName ;
00480
00481 std::string m_CryMat ;
00482 std::string m_ClrMat ;
00483 std::string m_WrapMat ;
00484 std::string m_WallMat ;
00485
00486 std::string m_APDName ;
00487 double m_APDHere ;
00488 std::string m_APDMat ;
00489 double m_APDSide ;
00490 double m_APDThick ;
00491 double m_APDZ ;
00492 double m_APDX1 ;
00493 double m_APDX2 ;
00494
00495 double m_WebHere ;
00496 std::string m_WebPlName ;
00497 std::string m_WebClrName ;
00498 std::string m_WebPlMat ;
00499 std::string m_WebClrMat ;
00500 std::vector<double> m_vecWebPlTh ;
00501 std::vector<double> m_vecWebClrTh ;
00502 std::vector<double> m_vecWebLength ;
00503
00504 double m_IlyHere ;
00505 std::string m_IlyName ;
00506 double m_IlyPhiLow ;
00507 double m_IlyDelPhi ;
00508 std::vector<std::string> m_vecIlyMat ;
00509 std::vector<double> m_vecIlyThick ;
00510
00511 std::string m_IlyPipeName ;
00512 double m_IlyPipeHere ;
00513 std::string m_IlyPipeMat ;
00514 double m_IlyPipeOD ;
00515 double m_IlyPipeID ;
00516 std::vector<double> m_vecIlyPipeLength ;
00517 std::vector<double> m_vecIlyPipeType ;
00518 std::vector<double> m_vecIlyPipePhi ;
00519 std::vector<double> m_vecIlyPipeZ ;
00520
00521 std::string m_IlyPTMName ;
00522 double m_IlyPTMHere ;
00523 std::string m_IlyPTMMat ;
00524 double m_IlyPTMWidth ;
00525 double m_IlyPTMLength ;
00526 double m_IlyPTMHeight ;
00527 std::vector<double> m_vecIlyPTMZ ;
00528 std::vector<double> m_vecIlyPTMPhi ;
00529
00530 std::string m_IlyFanOutName ;
00531 double m_IlyFanOutHere ;
00532 std::string m_IlyFanOutMat ;
00533 double m_IlyFanOutWidth ;
00534 double m_IlyFanOutLength ;
00535 double m_IlyFanOutHeight ;
00536 std::vector<double> m_vecIlyFanOutZ ;
00537 std::vector<double> m_vecIlyFanOutPhi ;
00538 std::string m_IlyDiffName ;
00539 std::string m_IlyDiffMat ;
00540 double m_IlyDiffOff ;
00541 double m_IlyDiffLength ;
00542 std::string m_IlyBndlName ;
00543 std::string m_IlyBndlMat ;
00544 double m_IlyBndlOff ;
00545 double m_IlyBndlLength ;
00546 std::string m_IlyFEMName ;
00547 std::string m_IlyFEMMat ;
00548 double m_IlyFEMWidth ;
00549 double m_IlyFEMLength ;
00550 double m_IlyFEMHeight ;
00551 std::vector<double> m_vecIlyFEMZ ;
00552 std::vector<double> m_vecIlyFEMPhi ;
00553
00554
00555 std::string m_HawRName ;
00556 std::string m_FawName ;
00557 double m_FawHere ;
00558 double m_HawRHBIG ;
00559 double m_HawRhsml ;
00560 double m_HawRCutY ;
00561 double m_HawRCutZ ;
00562 double m_HawRCutDelY ;
00563 double m_HawYOffCry ;
00564 unsigned int m_NFawPerSupm ;
00565 double m_FawPhiOff ;
00566 double m_FawDelPhi ;
00567 double m_FawPhiRot ;
00568 double m_FawRadOff ;
00569
00570 double m_GridHere ;
00571 std::string m_GridName ;
00572 std::string m_GridMat ;
00573 double m_GridThick ;
00574
00575 double m_BackXOff ;
00576 double m_BackYOff ;
00577
00578 double m_BackHere ;
00579 std::string m_BackSideName ;
00580 double m_BackSideHere ;
00581 double m_BackSideLength ;
00582 double m_BackSideHeight ;
00583 double m_BackSideWidth ;
00584 double m_BackSideYOff1 ;
00585 double m_BackSideYOff2 ;
00586 double m_BackSideAngle ;
00587 std::string m_BackSideMat ;
00588 std::string m_BackPlateName ;
00589 double m_BackPlateHere ;
00590 double m_BackPlateLength ;
00591 double m_BackPlateThick ;
00592 double m_BackPlateWidth ;
00593 std::string m_BackPlateMat ;
00594 std::string m_BackPlate2Name ;
00595 double m_BackPlate2Thick ;
00596 std::string m_BackPlate2Mat ;
00597 std::string m_GrilleName ;
00598 double m_GrilleHere ;
00599 double m_GrilleThick ;
00600 double m_GrilleWidth ;
00601 double m_GrilleZSpace ;
00602 std::string m_GrilleMat ;
00603 std::vector<double> m_vecGrilleHeight ;
00604 std::vector<double> m_vecGrilleZOff ;
00605
00606 std::string m_GrEdgeSlotName ;
00607 std::string m_GrEdgeSlotMat ;
00608 double m_GrEdgeSlotHere ;
00609 double m_GrEdgeSlotHeight ;
00610 double m_GrEdgeSlotWidth ;
00611
00612 std::string m_GrMidSlotName ;
00613 std::string m_GrMidSlotMat ;
00614 double m_GrMidSlotHere ;
00615 double m_GrMidSlotWidth ;
00616 double m_GrMidSlotXOff ;
00617 std::vector<double> m_vecGrMidSlotHeight ;
00618
00619 double m_BackPipeHere ;
00620 std::string m_BackPipeName ;
00621 std::vector<double> m_vecBackPipeDiam ;
00622 std::vector<double> m_vecBackPipeThick ;
00623 std::string m_BackPipeMat ;
00624 std::string m_BackPipeWaterMat ;
00625
00626 std::vector<std::string> m_vecBackCoolName ;
00627 double m_BackCoolHere ;
00628 double m_BackCoolBarHere ;
00629 double m_BackCoolBarWidth ;
00630 double m_BackCoolBarHeight ;
00631 std::string m_BackCoolMat ;
00632 std::string m_BackCoolBarName ;
00633 double m_BackCoolBarThick ;
00634 std::string m_BackCoolBarMat ;
00635 std::string m_BackCoolBarSSName ;
00636 double m_BackCoolBarSSThick ;
00637 std::string m_BackCoolBarSSMat ;
00638 std::string m_BackCoolBarWaName ;
00639 double m_BackCoolBarWaThick ;
00640 std::string m_BackCoolBarWaMat ;
00641 double m_BackCoolVFEHere ;
00642 std::string m_BackCoolVFEName ;
00643 std::string m_BackCoolVFEMat ;
00644 std::string m_BackVFEName ;
00645 std::string m_BackVFEMat ;
00646 std::vector<double> m_vecBackVFELyrThick ;
00647 std::vector<std::string> m_vecBackVFELyrName ;
00648 std::vector<std::string> m_vecBackVFELyrMat ;
00649 std::vector<double> m_vecBackCoolNSec ;
00650 std::vector<double> m_vecBackCoolSecSep ;
00651 std::vector<double> m_vecBackCoolNPerSec ;
00652 double m_BackMiscHere ;
00653 std::vector<double> m_vecBackMiscThick ;
00654 std::vector<std::string> m_vecBackMiscName ;
00655 std::vector<std::string> m_vecBackMiscMat ;
00656 double m_BackCBStdSep ;
00657
00658 double m_PatchPanelHere ;
00659 std::string m_PatchPanelName ;
00660 std::vector<double> m_vecPatchPanelThick ;
00661 std::vector<std::string> m_vecPatchPanelNames ;
00662 std::vector<std::string> m_vecPatchPanelMat ;
00663
00664 double m_BackCoolTankHere ;
00665 std::string m_BackCoolTankName ;
00666 double m_BackCoolTankWidth ;
00667 double m_BackCoolTankThick ;
00668 std::string m_BackCoolTankMat ;
00669 std::string m_BackCoolTankWaName ;
00670 double m_BackCoolTankWaWidth ;
00671 std::string m_BackCoolTankWaMat ;
00672 std::string m_BackBracketName ;
00673 double m_BackBracketHeight ;
00674 std::string m_BackBracketMat ;
00675
00676 double m_DryAirTubeHere ;
00677 std::string m_DryAirTubeName ;
00678 unsigned int m_MBCoolTubeNum ;
00679 double m_DryAirTubeInnDiam ;
00680 double m_DryAirTubeOutDiam ;
00681 std::string m_DryAirTubeMat ;
00682 double m_MBCoolTubeHere ;
00683 std::string m_MBCoolTubeName ;
00684 double m_MBCoolTubeInnDiam ;
00685 double m_MBCoolTubeOutDiam ;
00686 std::string m_MBCoolTubeMat ;
00687 double m_MBManifHere ;
00688 std::string m_MBManifName ;
00689 double m_MBManifInnDiam ;
00690 double m_MBManifOutDiam ;
00691 std::string m_MBManifMat ;
00692 double m_MBLyrHere ;
00693 std::vector<double> m_vecMBLyrThick ;
00694 std::vector<std::string> m_vecMBLyrName ;
00695 std::vector<std::string> m_vecMBLyrMat ;
00696
00697
00698
00699 double m_PincerRodHere ;
00700 std::string m_PincerRodName ;
00701 std::string m_PincerRodMat ;
00702 std::vector<double> m_vecPincerRodAzimuth;
00703
00704 std::string m_PincerEnvName ;
00705 std::string m_PincerEnvMat ;
00706 double m_PincerEnvWidth ;
00707 double m_PincerEnvHeight ;
00708 double m_PincerEnvLength ;
00709 std::vector<double> m_vecPincerEnvZOff ;
00710
00711 std::string m_PincerBlkName ;
00712 std::string m_PincerBlkMat ;
00713 double m_PincerBlkLength ;
00714
00715 std::string m_PincerShim1Name ;
00716 double m_PincerShimHeight ;
00717 std::string m_PincerShim2Name ;
00718 std::string m_PincerShimMat ;
00719 double m_PincerShim1Width ;
00720 double m_PincerShim2Width ;
00721
00722 std::string m_PincerCutName ;
00723 std::string m_PincerCutMat ;
00724 double m_PincerCutWidth ;
00725 double m_PincerCutHeight ;
00726
00727 };
00728
00729 #endif