diff --git a/compact/ci_GEM.xml b/compact/ci_GEM.xml index 22c8bee7938e6096ed3c967dcede2a7cfedc20f9..a42a38e2967632a00dc4f780b96328b9acc27596 100644 --- a/compact/ci_GEM.xml +++ b/compact/ci_GEM.xml @@ -44,8 +44,7 @@ </comment> <detector id="ci_GEM_id" name="ci_GEM" type="ci_GEM" insideTrackingVolume="false" vis="ci_GEMVis"> <material name="Ar10CO2"/> - <dimensions rmin="ci_GEM_rin" rmax="ci_GEM_rout" z_length="ci_GEM_sizez" z_offset="ci_GEM_shiftz" z="ci_GEM_posz" x="ci_GEM_posx" number="ci_GEM_nlayers"/> - + <dimensions rmin="ci_GEM_rin" rmax="ci_GEM_rout" z_length="ci_GEM_sizez" z_offset="ci_GEM_shiftz" z="ci_GEM_posz" x="ci_GEM_posx" number="ci_GEM_nlayers" rmax1="ci_HCAL_lay_rin -1*cm"/> <layer id="0" z="-ci_GEM_sizez * 0.5 + (5 + 3. * 0) * cm" inner_r="ci_GEM_rin + (1. + 0.5 * 0) * cm" outer_r="ci_GEM_rout + (-25. + 2. * 0) * cm" dz="1 * cm" /> <layer id="1" z="-ci_GEM_sizez * 0.5 + (5 + 3. * 1) * cm" inner_r="ci_GEM_rin + (1. + 0.5 * 1) * cm" outer_r="ci_GEM_rout + (-25. + 2. * 1) * cm" dz="1 * cm" /> <layer id="2" z="-ci_GEM_sizez * 0.5 + (5 + 3. * 2) * cm" inner_r="ci_GEM_rin + (1. + 0.5 * 2) * cm" outer_r="ci_GEM_rout + (-25. + 2. * 2) * cm" dz="1 * cm" /> diff --git a/reference_detector.xml b/reference_detector.xml index e8d01e017d1583fffc3c860a0d31b323c5e2e570..2913e11bc7b7fc944e21857f6de817e78e273255 100644 --- a/reference_detector.xml +++ b/reference_detector.xml @@ -114,22 +114,23 @@ <include ref="reference_detector/vertex_tracker.xml"/> <include ref="compact/silicon_tracker.xml"/> --> - + <include ref="ip6/beampipe.xml"/> <include ref="compact/solenoid.xml"/> <include ref="compact/ecal.xml"/> <include ref="compact/hcal.xml"/> <include ref="compact/forward_rich.xml"/> <include ref="compact/ce_mrich.xml"/> + <include ref="compact/ci_HCAL.xml"/> <include ref="compact/ci_GEM.xml"/> <!-- <include ref="compact/roman_pots.xml"/> --> - +<!-- <include ref="eic/forward_ion_beamline.xml"/> - +--> <detectors> diff --git a/src/ci_GEM.cpp b/src/ci_GEM.cpp index 39f53b7ec874d77576845a56392d1c2050a40ecc..73cb6363eb225fd84c85d682f729f2ce6ceb1c63 100644 --- a/src/ci_GEM.cpp +++ b/src/ci_GEM.cpp @@ -19,6 +19,7 @@ static Ref_t createDetector(Detector& desc, xml_h handle, SensitiveDetector sens double X = dims.x(); double Z = dims.z(); int Nlayers = dims.number(); + double HCAL_rmin = dims.rmax1(); // Maximum radius that the layer can be Material mat = desc.material(detElem.materialStr()); Material vac = desc.material("Vacuum"); @@ -30,8 +31,10 @@ static Ref_t createDetector(Detector& desc, xml_h handle, SensitiveDetector sens for (xml_coll_t li(detElem,_U(layer)); li; ++li){ xml_comp_t x_layer = li; std::string layer_name = detName + _toString(x_layer.id(), "_layer%d"); + double outer_r = x_layer.outer_r(); + if (outer_r > HCAL_rmin){outer_r = HCAL_rmin;} - Volume layer_vol(layer_name, Tube(x_layer.inner_r(), x_layer.outer_r(), x_layer.dz()), mat); + Volume layer_vol(layer_name, Tube(x_layer.inner_r(), outer_r, x_layer.dz()), mat); layer_vol.setVisAttributes(desc.visAttributes(detElem.visStr())); Position layer_pos(0, 0, x_layer.z()); PlacedVolume layer_phv = detVol.placeVolume(layer_vol, layer_pos);