diff --git a/detector_geometry.root b/detector_geometry.root
new file mode 100644
index 0000000000000000000000000000000000000000..4d855d89bef624a76442d6a4a0692583635bd092
Binary files /dev/null and b/detector_geometry.root differ
diff --git a/eic_ip6.xml b/eic_ip6.xml
index e7e2b18c1eba3d09791bdcd3910df5d387e7af8e..c3af6d9cd00a5818fe346991c801393846cc26f2 100644
--- a/eic_ip6.xml
+++ b/eic_ip6.xml
@@ -2,7 +2,6 @@
 <lccdd>
   <define>
     <constant name="Pi" value="3.14159265359"/>
-    <constant name="degree" value="3.14159265359/180.0"/>
     <constant name="world_side" value="30*m"/>
     <constant name="world_x" value="world_side"/>
     <constant name="world_y" value="world_side"/>
diff --git a/ip6/far_forward_ZDC_Hcal.xml b/ip6/far_forward_ZDC_Hcal.xml
index 74bf0ab500ef9158c53b8003fa3e259c71b3c718..871826fabde3e942ff36ef3a1218f9a752c8cc8b 100644
--- a/ip6/far_forward_ZDC_Hcal.xml
+++ b/ip6/far_forward_ZDC_Hcal.xml
@@ -40,16 +40,26 @@
     </detector>
   </detectors>
 
+  <define>
+    <constant name="ZDC_HCAL_PbScint1Min_index"   value="1 + ffi_ZDC_Gap_NRepeat" />
+    <constant name="ZDC_HCAL_PbScint1Max_index"   value="ZDC_HCAL_PbScint1Min_index + ffi_ZDC_PbScint_NRepeat - 1" />
+    <constant name="ZDC_HCAL_SiPbMin_index"       value="ZDC_HCAL_PbScint1Max_index + 1" />
+    <constant name="ZDC_HCAL_SiPbMax_index"       value="ZDC_HCAL_SiPbMin_index + ffi_ZDC_SiPb_NRepeat - 1" />
+    <constant name="ZDC_HCAL_PbScint2Min_index"   value="1 + ZDC_HCAL_SiPbMin_index + ffi_ZDC_Gap_NRepeat" />
+    <constant name="ZDC_HCAL_PbScint2Max_index"   value="ZDC_HCAL_PbScint2Min_index + ffi_ZDC_PbScint_NRepeat - 1" />
+  </define>
+
   <readouts>
     <readout name="ffi_ZDC_HCAL_Hits">
       <segmentation type="MultiSegmentation" key="layer">
-        <segmentation name="Si_LG_grid" type="CartesianGridXY" key_min="1" key_max="12" grid_size_x="1.0*cm" grid_size_y="1.0*cm"/>
-        <segmentation name="Scint_grid" type="CartesianGridXY" key_min="14" key_max="32" grid_size_x="10.0*cm" grid_size_y="10.0*cm"/>
-        <segmentation name="Scint_grid" type="CartesianGridXY" key_min="34" key_max="52" grid_size_x="10.0*cm" grid_size_y="10.0*cm"/>
+        <segmentation name="Si_LG_grid" type="CartesianGridXY" key_min="ZDC_HCAL_SiPbMin_index" key_max="ZDC_HCAL_SiPbMax_index" grid_size_x="1.0*cm" grid_size_y="1.0*cm"/>
+        <segmentation name="Scint_grid" type="CartesianGridXY" key_min="ZDC_HCAL_PbScint1Min_index" key_max="ZDC_HCAL_PbScint1Max_index" grid_size_x="10.0*cm" grid_size_y="10.0*cm"/>
+        <segmentation name="Scint_grid" type="CartesianGridXY" key_min="ZDC_HCAL_PbScint2Min_index" key_max="ZDC_HCAL_PbScint2Max_index" grid_size_x="10.0*cm" grid_size_y="10.0*cm"/>
       </segmentation>
       <hits_collections>
-        <hits_collection name="ffiZDCSiPbHits"  key="layer" key_min="1" key_max="12"/>
-        <hits_collection name="ffiZDCScintHits" key="layer" key_min="14" key_max="52"/>
+        <hits_collection name="ffiZDCScintHits" key="layer" key_min="ZDC_HCAL_PbScint1Min_index" key_max="ZDC_HCAL_PbScint1Max_index"/>
+        <hits_collection name="ffiZDCSiPbHits"  key="layer" key_min="ZDC_HCAL_SiPbMin_index" key_max="ZDC_HCAL_SiPbMax_index"/>
+        <hits_collection name="ffiZDCScintHits" key="layer" key_min="ZDC_HCAL_PbScint2Min_index" key_max="ZDC_HCAL_PbScint2Max_index"/>
       </hits_collections>
       <id>system:8,layer:12,slice:12,x:32:-16,y:-16</id>  
     </readout>