diff --git a/src/ForwardRICH_geo.cpp b/src/ForwardRICH_geo.cpp index 2508dd49cce47eb81acfb3c64631bdc0e740acb7..8b66bf43f671465b750a736c60a8ccbdfc079eff 100644 --- a/src/ForwardRICH_geo.cpp +++ b/src/ForwardRICH_geo.cpp @@ -155,11 +155,12 @@ static Ref_t createDetector(Detector& desc, xml::Handle_t handle, SensitiveDetec if (mRmax > rmax) { rmax = mRmax; } } rmin = std::max(0., rmin - 0.1*cm); + rmax = 2.*halfLength/mirZ*rmax; Cone env1(halfLength, rmin, tRmax1 + 0.1*cm , rmin, rmax + 0.1*cm); // disk for detection plane - Tube env2(std::max(0., pRmin - 0.1*cm), pRmax + 0.1*cm, pThick + 0.1*cm, 0., 2.*M_PI); + Tube env2(std::max(0., pRmin - 0.1*cm), pRmax + pTol + pGap + 0.1*cm, pThick + 0.1*cm, 0., 2.*M_PI); - UnionSolid envShape(env1, env2, Position(0., 0., pZ + pThick/2.)); + UnionSolid envShape(env1, env2, Position(0., 0., -halfLength + pZ + pThick/2.)); Volume envVol(detName + "_envelope", envShape, desc.material("AirOptical")); // envVol.setVisAttributes(desc.visAttributes(detElem.visStr())); diff --git a/topside.xml b/topside.xml index 4f1005004843d5f6b9d974556c46b51280e7cdcb..568c0057b364a4827e66988e4278a51e01289d58 100644 --- a/topside.xml +++ b/topside.xml @@ -113,9 +113,7 @@ <include ref="topside/ecal.xml"/> <include ref="topside/hcal.xml"/> <include ref="topside/solenoid.xml"/> - <!-- <include ref="topside/topside_rich.xml"/> - --> <include ref="topside/roman_pots.xml"/> <include ref="eic/forward_ion_beamline.xml"/> <!-- diff --git a/topside/topside_rich.xml b/topside/topside_rich.xml index 8974ac78fbcff4474550ee002c8ebf851b4e0f8f..21f5bdda4f27aa33be06f429c0a813f7d52ad2d6 100644 --- a/topside/topside_rich.xml +++ b/topside/topside_rich.xml @@ -11,12 +11,12 @@ <tank zdiff="5.0*cm" length="RICHDepth" gas="N2cherenkov" vis="GreenVis" rmin="RICHRMin" rmax1="RICHRMin+40*cm" rmax2="RICHRMin+80*cm" /> <mirror zdiff="RICHDepth+7.0*cm" thickness="1*mm" material="PyrexGlass" vis="GrayVis"> - <slice focus="50*cm" curve="300*cm" rmin="RICHRMin" rmax="RICHRMin+80*cm" phiw="59*degree" rotz="0*degree" /> - <slice focus="50*cm" curve="300*cm" rmin="RICHRMin" rmax="RICHRMin+80*cm" phiw="59*degree" rotz="60*degree" /> - <slice focus="50*cm" curve="300*cm" rmin="RICHRMin" rmax="RICHRMin+80*cm" phiw="59*degree" rotz="120*degree" /> - <slice focus="50*cm" curve="300*cm" rmin="RICHRMin" rmax="RICHRMin+80*cm" phiw="59*degree" rotz="180*degree" /> - <slice focus="50*cm" curve="300*cm" rmin="RICHRMin" rmax="RICHRMin+80*cm" phiw="59*degree" rotz="240*degree" /> - <slice focus="50*cm" curve="300*cm" rmin="RICHRMin" rmax="RICHRMin+80*cm" phiw="59*degree" rotz="300*degree" /> + <slice focus="50*cm" curve="0" rmin="RICHRMin" rmax="RICHRMin+80*cm" phiw="59*degree" rotz="0*degree" /> + <slice focus="50*cm" curve="0" rmin="RICHRMin" rmax="RICHRMin+80*cm" phiw="59*degree" rotz="60*degree" /> + <slice focus="50*cm" curve="0" rmin="RICHRMin" rmax="RICHRMin+80*cm" phiw="59*degree" rotz="120*degree" /> + <slice focus="50*cm" curve="0" rmin="RICHRMin" rmax="RICHRMin+80*cm" phiw="59*degree" rotz="180*degree" /> + <slice focus="50*cm" curve="0" rmin="RICHRMin" rmax="RICHRMin+80*cm" phiw="59*degree" rotz="240*degree" /> + <slice focus="50*cm" curve="0" rmin="RICHRMin" rmax="RICHRMin+80*cm" phiw="59*degree" rotz="300*degree" /> </mirror> </detector> </detectors>