diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index caf2e6a471dbce7bd3f3f72a8158528cc5a0e38d..b0fff8df3b3dc0d8ab6e6286e2af5931f2e6ccfd 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -12,6 +12,7 @@ default:
   before_script:
     - mkdir -p images && mkdir -p doc/
     - git clone https://eicweb.phy.anl.gov/EIC/detectors/accelerator.git && ln -s accelerator/eic 
+    - git clone https://eicweb.phy.anl.gov/EIC/detectors/ip6.git && mkdir ip6_build && cd ip6_build && cmake ../ip6/. -DCMAKE_INSTALL_PREFIX=/usr/local && make -j20 && make install  && cd .. && ln -s ip6/ip6 
     - mkdir build && cd build && cmake ../. -DCMAKE_INSTALL_PREFIX=/usr/local && make -j20 && make install  && cd ..
   artifacts:
     paths:
diff --git a/compact/hcal.xml b/compact/hcal.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3edc03e2ba259bb42ed30715350d6c1acf147ab3
--- /dev/null
+++ b/compact/hcal.xml
@@ -0,0 +1,104 @@
+<lccdd>
+
+  <define>
+  </define>
+
+  <limits>
+  </limits>
+
+  <regions>
+  </regions>
+
+  <display>
+  </display>
+
+  <!-- Define detector -->
+  <detectors>
+
+    <detector 
+      id="HCalBarrel_ID" 
+      name="HcalBarrel"
+      type="DD4hep_PolyhedraBarrelCalorimeter2"
+      readout="HcalBarrelHits"
+      calorimeterType="HAD_BARREL"
+      gap="0.*cm"
+      material="Steel235">
+      <dimensions 
+        numsides="CaloSides" 
+        rmin="HcalBarrel_rmin" 
+        z="HcalBarrelLength"/>
+      <staves vis="HcalBarrelVis"/>
+      <layer repeat="HcalBarrelLayers">
+        <slice material="Steel235" thickness="HcalSteelThickness"/>
+        <slice material="PyrexGlass" thickness="HcalPyrexThickness"/>
+        <slice material="RPCGasDefault" thickness="HcalRPCGasThickness" sensitive="yes" limits="cal_limits"/>
+        <slice material="PyrexGlass" thickness="HcalPyrexThickness"/>
+        <slice material="G10" thickness="HcalG10Thickness"/>
+        <slice material="Air" thickness="HcalAirThickness"/>
+      </layer>
+    </detector>
+
+    <detector 
+      id="HCalEndcapP_ID" 
+      name="HcalEndcapP" 
+      type="refdet_PolyhedraEndcapCalorimeter2" 
+      readout="HcalEndcapHits" 
+      vis="HcalEndcapVis" 
+      calorimeterType="HAD_ENDCAP"
+      reflect="false">
+      <dimensions 
+        numsides="CaloSides" 
+        zmin="HcalEndcap_zmin" 
+        rmin="HcalEndcapP_rmin"
+        rmax="HcalBarrel_rmax"/>
+      <layer repeat="HcalEndcapLayers" vis="HcalEndcapVis" >
+        <slice material="Steel235" thickness="HcalSteelThickness"/>
+        <slice material="PyrexGlass" thickness="HcalPyrexThickness"/>
+        <slice material="RPCGasDefault" thickness="HcalRPCGasThickness" sensitive="yes" limits="cal_limits"/>
+        <slice material="PyrexGlass" thickness="HcalPyrexThickness"/>
+        <slice material="G10" thickness="HcalG10Thickness"/>
+        <slice material="Air" thickness="HcalAirThickness"/>
+      </layer>
+    </detector>
+
+    <detector 
+      id="HCalEndcapN_ID" 
+      name="HcalEndcapN" 
+      type="refdet_PolyhedraEndcapCalorimeter2" 
+      readout="HcalEndcapHits" 
+      vis="HcalEndcapVis" 
+      calorimeterType="HAD_ENDCAP" reflect="true">
+      <dimensions 
+        numsides="CaloSides" 
+        zmin="HcalEndcap_zmin" 
+        rmin="HcalEndcapN_rmin" 
+        rmax="HcalBarrel_rmax"/>
+      <layer repeat="HcalEndcapLayers" vis="HcalEndcapVis" >
+        <slice material="Steel235" thickness="HcalSteelThickness"/>
+        <slice material="PyrexGlass" thickness="HcalPyrexThickness"/>
+        <slice material="RPCGasDefault" thickness="HcalRPCGasThickness" sensitive="yes" limits="cal_limits"/>
+        <slice material="PyrexGlass" thickness="HcalPyrexThickness"/>
+        <slice material="G10" thickness="HcalG10Thickness"/>
+        <slice material="Air" thickness="HcalAirThickness"/>
+      </layer>
+    </detector>
+
+  </detectors>
+  <!--  Definition of the readout segmentation/definition  -->
+  <readouts>
+    <readout name="HcalBarrelHits">
+      <segmentation type="CartesianGridXY" grid_size_x="10 * mm" grid_size_y="10 * mm"/>
+      <id>system:6,barrel:3,module:4,layer:8,slice:5,x:32:-16,y:-16</id>
+    </readout>
+    <readout name="HcalEndcapHits">
+      <segmentation type="CartesianGridXY" grid_size_x="10 * mm" grid_size_y="10 * mm"/>
+      <id>system:6,barrel:3,module:4,layer:8,slice:5,x:32:-16,y:-16</id>
+    </readout>
+  </readouts>
+
+  <plugins>
+  </plugins>
+
+  <fields>
+  </fields>
+</lccdd>
diff --git a/reference_detector.xml b/reference_detector.xml
index c4d74d09124b74601932cd625ac2dc0a9395f9d8..2b2aa0a187a9972863582407d01c70a05726f43a 100644
--- a/reference_detector.xml
+++ b/reference_detector.xml
@@ -110,15 +110,14 @@
   </display>
 
   <!--
+  <include ref="ip6/beampipe.xml"/>
   <include ref="reference_detector/vertex_tracker.xml"/>
-  <include ref="compact/beampipe.xml"/>
   <include ref="compact/silicon_tracker.xml"/>
   -->
   <include ref="compact/solenoid.xml"/>
   <include ref="compact/ecal.xml"/>
-  <!--
-  <include ref="compact/solenoid.xml"/>
   <include ref="compact/hcal.xml"/>
+  <!--
   <include ref="compact/reference_detector_rich.xml"/>
   <include ref="compact/roman_pots.xml"/>
   -->