diff --git a/compact/hcal.xml b/compact/hcal.xml
new file mode 100644
index 0000000000000000000000000000000000000000..66c1f08d4f12e172a94628a2a811bea15777baed
--- /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="topside_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="topside_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>