diff --git a/compact/pid/drich.xml b/compact/pid/drich.xml index 07e86120c..1b288f2f8 100644 --- a/compact/pid/drich.xml +++ b/compact/pid/drich.xml @@ -169,7 +169,7 @@ backplane="DRICH_window_thickness + 1.0*cm" rmin="DRICH_rmin1 + DRICH_wall_thickness - 1.0*cm" rmax="DRICH_rmax2 - DRICH_wall_thickness - 3.0*cm" - phiw="59.5*degree" + phiw="59.75*degree" thickness="0.2*cm" focus_tune_x="-7.00*cm" focus_tune_z="6.15*cm" @@ -177,8 +177,12 @@ mirThCut2="0.41" mirPhiACut="0.05" mirPhiBCut="0.06" + > + - + #### Sensors diff --git a/src/DRICH_geo.cpp b/src/DRICH_geo.cpp index 53666c631..e8b3d98f8 100644 --- a/src/DRICH_geo.cpp +++ b/src/DRICH_geo.cpp @@ -84,6 +84,9 @@ static Ref_t createDetector(Detector& desc, xml::Handle_t handle, SensitiveDetec auto mirrorPhiBCut = mirrorElem.attr(_Unicode(mirPhiBCut)); auto mirrorBackplane = mirrorElem.attr(_Unicode(backplane)); auto mirrorThickness = mirrorElem.attr(_Unicode(thickness)); + auto mirrorRibElem = mirrorElem.child(_Unicode(mirrorRib)); + auto mirrorRibMat = desc.material(mirrorRibElem.attr(_Unicode(material))); + auto mirrorSecRib = mirrorRibElem.attr(_Unicode(sectorRibPhi)); auto mirrorRmin = mirrorElem.attr(_Unicode(rmin)); auto mirrorRmax = mirrorElem.attr(_Unicode(rmax)); auto mirrorPhiw = mirrorElem.attr(_Unicode(phiw)); @@ -423,7 +426,7 @@ static Ref_t createDetector(Detector& desc, xml::Handle_t handle, SensitiveDetec //ribs Tube pieSliceInnerRib(0.01*cm,vesselRmax2,tankLength/2.0, -mirrorPhiw / 2.0, mirrorPhiw / 2.0); Tube pieSliceOuterRib(0.01*cm,vesselRmax2,tankLength/2.0, (mirrorPhiACut*mirrorPhiw) / 2.0 , (mirrorPhiBCut*mirrorPhiw) / 2.0); - Tube pieSliceSectorRib(0.01*cm,vesselRmax2,tankLength/2.0, mirrorPhiw / 2.0 , (mirrorPhiw+0.017) / 2.0); + Tube pieSliceSectorRib(0.01*cm,vesselRmax2,tankLength/2.0, mirrorPhiw / 2.0 , (mirrorPhiw+mirrorSecRib) / 2.0); //mirror solids IntersectionSolid mirrorInnerSolid(pieSliceInner, mirrorSolid1, mirrorPlacement); IntersectionSolid mirrorOuterSolidA(pieSliceOuterA, mirrorSolid2, mirrorPlacement); @@ -438,9 +441,9 @@ static Ref_t createDetector(Detector& desc, xml::Handle_t handle, SensitiveDetec Volume mirrorOuterVolA(detName + "_mirror_tile1" + secName, mirrorOuterSolidA, mirrorMat); Volume mirrorOuterVolB(detName + "_mirror_tile2" + secName, mirrorOuterSolidB, mirrorMat); - Volume mirrorRibInnerVol(detName + "_mirror_rib0" + secName, mirrorRibInnerSolid, vesselMat); - Volume mirrorRibOuterVol(detName + "_mirror_rib1" + secName, mirrorRibOuterSolid, vesselMat); - Volume mirrorRibSectorVol(detName + "_mirror_rib3" + secName, mirrorRibSectorSolid, vesselMat); + Volume mirrorRibInnerVol(detName + "_mirror_rib0" + secName, mirrorRibInnerSolid, mirrorRibMat); + Volume mirrorRibOuterVol(detName + "_mirror_rib1" + secName, mirrorRibOuterSolid, mirrorRibMat); + Volume mirrorRibSectorVol(detName + "_mirror_rib3" + secName, mirrorRibSectorSolid, mirrorRibMat); mirrorInnerVol.setVisAttributes(mirrorVis); mirrorOuterVolA.setVisAttributes(mirrorVis);