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);