diff --git a/Detector/DetCEPCv4/compact/CepCBeamPipe_v01_01.xml b/Detector/DetCEPCv4/compact/CepCBeamPipe_v01_01.xml
new file mode 100644
index 0000000000000000000000000000000000000000..16cc9b5eb3d10cbb0149ae79152a3ef3a0345fed
--- /dev/null
+++ b/Detector/DetCEPCv4/compact/CepCBeamPipe_v01_01.xml
@@ -0,0 +1,87 @@
+<lccdd>
+  <info name="CRD" title="CRD Beam pipe" author="Chengdong Fu" url="no" status="development" version="1.0">
+    <comment>A beampipe for CRD</comment>
+  </info>
+
+  <define>
+    <constant name="BeamPipe_Be_inner_thickness"   value="0.5*mm"/>
+    <constant name="BeamPipe_Cooling_thickness"    value="0.5*mm"/>
+    <constant name="BeamPipe_Be_outer_thickness"   value="0.3*mm"/>
+    <constant name="BeamPipe_Be_total_thickness"   value="BeamPipe_Be_inner_thickness+BeamPipe_Cooling_thickness+BeamPipe_Be_outer_thickness"/>
+    <constant name="BeamPipe_Al_thickness"         value="BeamPipe_Be_total_thickness"/>
+    <constant name="BeamPipe_Cu_thickness"         value="2.0*mm"/>
+
+    <constant name="BeamPipe_CentralBe_zmax"       value="120*mm"/>
+    <constant name="BeamPipe_CentralAl_zmax"       value="205*mm"/>
+    <constant name="BeamPipe_ConeAl_zmax"          value="655*mm"/>
+    <constant name="BeamPipe_LinkerAl_zmax"        value="700*mm"/>
+    <constant name="BeamPipe_LinkerCu_zmax"        value="780*mm"/>
+    <constant name="BeamPipe_Waist_zmax"           value="805*mm"/>
+    <constant name="BeamPipe_Crotch_zmax"          value="855*mm"/>
+    <constant name="BeamPipe_FirstSeparated_zmax"  value="1110*mm"/>
+    <constant name="BeamPipe_SecondSeparated_zmax" value="2200*mm"/>
+    <constant name="BeamPipe_end_z"                value="12*m"/>
+    
+    <constant name="BeamPipe_Central_inner_radius"  value="14*mm"/>
+    <constant name="BeamPipe_Expanded_inner_radius" value="20*mm"/>
+    <constant name="BeamPipe_Upstream_inner_radius" value="6*mm"/>
+    <constant name="BeamPipe_Dnstream_inner_radius" value="10*mm"/>
+    <constant name="BeamPipe_Crotch_hole_height"    value="30.67*mm"/>
+    <constant name="BeamPipe_VertexRegion_rmax"     value="BeamPipe_Central_inner_radius+BeamPipe_Al_thickness"/>
+    <constant name="BeamPipe_ForwardRegion_rmax"    value="BeamPipe_Expanded_inner_radius+BeamPipe_Cu_thickness"/>
+
+    <constant name="ForkAsymThickness" value="BeamPipe_Dnstream_inner_radius+BeamPipe_Cu_thickness-BeamPipe_Upstream_inner_radius"/>
+  </define>
+
+  <detectors>        
+    <detector name="BeamPipe" type="DD4hep_CRDBeamPipe_v01" vis="BeamPipeVis">
+      <parameter crossingangle="CepC_Main_Crossing_Angle" />
+      <envelope vis="BlueVis">
+	<shape type="Assembly"/>
+      </envelope>
+
+      <section type ="Center" name="IPInnerTube" zStart="0" zEnd="BeamPipe_CentralBe_zmax" rStart="0">
+	<layer material="beam" thickness="BeamPipe_Central_inner_radius"/>
+	<layer material="G4_Be" thickness="BeamPipe_Be_inner_thickness"/>
+	<layer material="G4_PARAFFIN" thickness="BeamPipe_Cooling_thickness"/>
+	<layer material="G4_Be" thickness="BeamPipe_Be_outer_thickness"/>
+      </section>
+      <section type="Center" name="IPAl" zStart="BeamPipe_CentralBe_zmax" zEnd="BeamPipe_CentralAl_zmax" rStart="0">
+	<layer material="beam" thickness="BeamPipe_Central_inner_radius"/>
+	<layer material="G4_Al" thickness="BeamPipe_Al_thickness"/>
+      </section>
+      <section type="Center" name="ExpandPipe" zStart="BeamPipe_CentralAl_zmax" zEnd="BeamPipe_ConeAl_zmax" rStart="0">
+	<layer material="beam" thickness="BeamPipe_Central_inner_radius" thicknessEnd="BeamPipe_Expanded_inner_radius"/>
+	<layer material="G4_Al" thickness="BeamPipe_Al_thickness" thicknessEnd="BeamPipe_Al_thickness"/>
+      </section>
+      <section type="Center" name="ThickPipe" zStart="BeamPipe_ConeAl_zmax" zEnd="BeamPipe_LinkerAl_zmax" rStart="0">
+	<layer material="beam" thickness="BeamPipe_Expanded_inner_radius"/>
+	<layer material="G4_Al" thickness="BeamPipe_Al_thickness"/>
+      </section>
+      <section type="CenterSide" name="OutsideLink" zStart="BeamPipe_LinkerAl_zmax" zEnd="BeamPipe_LinkerCu_zmax" rStart="0">
+	<layer material="beam" thickness="BeamPipe_Expanded_inner_radius"/>
+	<layer material="G4_Cu" thickness="BeamPipe_Cu_thickness"/>
+      </section>
+      <section type="FatWaist" name="Waist" zStart="BeamPipe_LinkerCu_zmax" zEnd="BeamPipe_Waist_zmax" rStart="BeamPipe_Expanded_inner_radius" size="BeamPipe_Crotch_hole_height">
+	<layer material="G4_Cu" thickness="BeamPipe_Cu_thickness"/>
+      </section>
+      <!--CrotchAsymUp&CrotchAsymDn not work to fix, because of problem on convert from TGeo to Geant4--> 
+      <!--section type="CrotchAsymUp" name="Fork" zStart="BeamPipe_Waist_zmax" zEnd="BeamPipe_Crotch_zmax"
+	       rStart="BeamPipe_Expanded_inner_radius" rEnd="BeamPipe_Upstream_inner_radius" size="BeamPipe_Crotch_hole_height">
+	<layer material="G4_Cu" thickness="BeamPipe_Cu_thickness" thicknessEnd="ForkAsymThickness"/>
+      </section>
+      <section type="CrotchAsymDn" name="Fork" zStart="BeamPipe_Waist_zmax" zEnd="BeamPipe_Crotch_zmax"
+	       rStart="BeamPipe_Expanded_inner_radius" rEnd="BeamPipe_Dnstream_inner_radius" size="BeamPipe_Crotch_hole_height">
+        <layer material="G4_Cu" thickness="BeamPipe_Cu_thickness"/>
+      </section-->
+      <section type="FlareLegUp" name="FirstDoublePipe" zStart="BeamPipe_Crotch_zmax" zEnd="BeamPipe_FirstSeparated_zmax" rStart="0">
+	<layer material="beam" thickness="BeamPipe_Upstream_inner_radius" thicknessEnd="BeamPipe_Dnstream_inner_radius"/>
+	<layer material="G4_Cu" thickness="ForkAsymThickness" thicknessEnd="BeamPipe_Cu_thickness"/>
+      </section>
+      <section type="FlareLegDn" name="FirstDoublePipe" zStart="BeamPipe_Crotch_zmax" zEnd="BeamPipe_FirstSeparated_zmax" rStart="0">
+        <layer material="beam" thickness="BeamPipe_Dnstream_inner_radius"/>
+        <layer material="G4_Cu" thickness="BeamPipe_Cu_thickness"/>
+      </section>
+    </detector>
+  </detectors>        
+</lccdd>
diff --git a/Detector/DetCEPCv4/compact/CepC_v4-onlyECAL.xml b/Detector/DetCEPCv4/compact/CepC_v4-onlyECAL.xml
index c24218a84234c2c90d31759f166de1845c82f49a..12149001d3ec603635bcfc7319e9d87fbdb39cf2 100644
--- a/Detector/DetCEPCv4/compact/CepC_v4-onlyECAL.xml
+++ b/Detector/DetCEPCv4/compact/CepC_v4-onlyECAL.xml
@@ -47,14 +47,14 @@
   </limits>
   <include ref="display.xml"/>
   <!-- <include ref="Beampipe_o1_v01_01.xml"/> -->
-  <!-- <include ref="vxd07.xml"/> -->
+  <!-- <include ref="vxd07_01.xml"/> -->
   <!-- <include ref="ftd_simple_staggered_02.xml"/> -->
   <!-- <include ref="sit_simple_pixel_sensors_01.xml"/> -->
   <!-- <include ref="tpc10_01.xml"/> -->
   <!-- <include ref="set_simple_planar_sensors_01.xml"/> -->
   <include ref="SEcal05_siw_Barrel.xml"/>
   <include ref="SEcal05_siw_Endcaps.xml"/>
-  <include ref="SEcal05_siw_ECRing.xml"/>
+  <include ref="SEcal05_siw_ECRing_01.xml"/>
   <!-- <include ref="Hcal_Barrel_SD_v01.xml"/> -->
   <!-- <include ref="Hcal_Endcaps_SD_v01.xml"/> -->
   <!-- <include ref="Hcal_EndcapRing_SD_v01.xml"/> -->
diff --git a/Detector/DetCEPCv4/compact/CepC_v4-onlyTracker.xml b/Detector/DetCEPCv4/compact/CepC_v4-onlyTracker.xml
index bf5aace81f5fd37f6616f77d19d0bf1a29ec2318..73c7c67fec29b7ad8011e59849d5ce9b1584c031 100644
--- a/Detector/DetCEPCv4/compact/CepC_v4-onlyTracker.xml
+++ b/Detector/DetCEPCv4/compact/CepC_v4-onlyTracker.xml
@@ -47,14 +47,14 @@
   </limits>
   <include ref="display.xml"/>
   <include ref="Beampipe_o1_v01_01.xml"/>
-  <include ref="vxd07.xml"/>
-  <include ref="ftd_cepc.xml"/>
+  <include ref="vxd07_01.xml"/>
+  <include ref="ftd_cepc_01.xml"/>
   <include ref="sit_simple_planar_sensors_01.xml"/>
   <include ref="tpc10_01.xml"/>
   <include ref="set_simple_planar_sensors_01.xml"/>
   <!--include ref="SEcal05_siw_Barrel.xml"/>
   <include ref="SEcal05_siw_Endcaps.xml"/>
-  <include ref="SEcal05_siw_ECRing.xml"/>
+  <include ref="SEcal05_siw_ECRing_01.xml"/>
   <include ref="Hcal_Barrel_SD_v01.xml"/>
   <include ref="Hcal_Endcaps_SD_v01.xml"/>
   <include ref="Hcal_EndcapRing_SD_v01.xml"/>
diff --git a/Detector/DetCEPCv4/compact/CepC_v4-onlyTrackerECAL.xml b/Detector/DetCEPCv4/compact/CepC_v4-onlyTrackerECAL.xml
index 8978202b9380aadbc7e602a40e9a40ac36eefd41..517f176251276e29fa3225eec5c59979b4c70d04 100644
--- a/Detector/DetCEPCv4/compact/CepC_v4-onlyTrackerECAL.xml
+++ b/Detector/DetCEPCv4/compact/CepC_v4-onlyTrackerECAL.xml
@@ -47,14 +47,14 @@
   </limits>
   <include ref="display.xml"/>
   <include ref="Beampipe_o1_v01_01.xml"/>
-  <include ref="vxd07.xml"/>
-  <include ref="ftd_cepc.xml"/>
+  <include ref="vxd07_01.xml"/>
+  <include ref="ftd_cepc_01.xml"/>
   <include ref="sit_simple_planar_sensors_01.xml"/>
   <include ref="tpc10_01.xml"/>
   <include ref="set_simple_planar_sensors_01.xml"/>
   <include ref="SEcal05_siw_Barrel.xml"/>
   <include ref="SEcal05_siw_Endcaps.xml"/>
-  <include ref="SEcal05_siw_ECRing.xml"/>
+  <include ref="SEcal05_siw_ECRing_01.xml"/>
   <!--include ref="Hcal_Barrel_SD_v01.xml"/>
   <include ref="Hcal_Endcaps_SD_v01.xml"/>
   <include ref="Hcal_EndcapRing_SD_v01.xml"/>
diff --git a/Detector/DetCEPCv4/compact/CepC_v4-onlyVXD.xml b/Detector/DetCEPCv4/compact/CepC_v4-onlyVXD.xml
index 42b18131fd7b248fdb0bd70c3e42d578051ba925..30e0c0af38b286ed9a7e0ac8e30991c702e98d99 100644
--- a/Detector/DetCEPCv4/compact/CepC_v4-onlyVXD.xml
+++ b/Detector/DetCEPCv4/compact/CepC_v4-onlyVXD.xml
@@ -47,14 +47,14 @@
   </limits>
   <include ref="display.xml"/>
   <include ref="Beampipe_o1_v01_01.xml"/>
-  <include ref="vxd07.xml"/>
+  <include ref="vxd07_01.xml"/>
   <!--include ref="ftd_simple_staggered_02.xml"/>
   <include ref="sit_simple_pixel_sensors_01.xml"/>
   <include ref="tpc10_01.xml"/>
   <include ref="set_simple_planar_sensors_01.xml"/-->
   <!--include ref="SEcal05_siw_Barrel.xml"/>
   <include ref="SEcal05_siw_Endcaps.xml"/>
-  <include ref="SEcal05_siw_ECRing.xml"/>
+  <include ref="SEcal05_siw_ECRing_01.xml"/>
   <include ref="Hcal_Barrel_SD_v01.xml"/>
   <include ref="Hcal_Endcaps_SD_v01.xml"/>
   <include ref="Hcal_EndcapRing_SD_v01.xml"/>
diff --git a/Detector/DetCEPCv4/compact/CepC_v4-patch-BeamECRing.xml b/Detector/DetCEPCv4/compact/CepC_v4-patch-BeamECRing.xml
new file mode 100644
index 0000000000000000000000000000000000000000..53200ea632216a748551ae9d3b4317c596b8b625
--- /dev/null
+++ b/Detector/DetCEPCv4/compact/CepC_v4-patch-BeamECRing.xml
@@ -0,0 +1,108 @@
+<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0"
+       xmlns:xs="http://www.w3.org/2001/XMLSchema"
+       xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
+  <info name="CepC_v04"
+        title="CepC detctor used for the optimisation"
+        author="C.D.Fu"
+        url="http://cepc.ihep.ac.cn"
+        status="experimental"
+        version="v04">
+    <comment>CepC detector simulation models used for detector optimisation </comment>
+  </info>
+  <includes>
+    <gdmlFile  ref="elements.xml"/>
+    <gdmlFile  ref="materials.xml"/>
+  </includes>
+  <define>
+    <include ref="top_defs_CepC_v04.xml"/>
+    <include ref="top_defs.xml"/>
+    <include ref="basic_defs.xml"/>
+    <include ref="envelope_defs.xml"/>
+    <include ref="tube_defs.xml"/>
+    <include ref="misc_defs.xml"/>
+    <include ref="tracker_defs.xml"/>
+    <include ref="fcal_defs.xml"/>
+    <include ref="ecal_defs.xml"/>
+    <include ref="hcal_defs.xml"/>
+    <include ref="yoke_defs.xml"/>
+    <include ref="services_defs.xml"/>
+    <include ref="${DD4hepINSTALL}/DDDetectors/compact/detector_types.xml"/>
+    <include ref="limits.xml"/>
+    <!-- Readout slice in ecal for reconstruction -->
+    <constant name="Ecal_readout_segmentation_slice0" value="4"/>
+    <constant name="Ecal_readout_segmentation_slice1" value="10"/>
+    <!-- Readout slice in hcal for reconstruction -->
+    <constant name="Hcal_readout_segmentation_slice" value="3"/>
+  </define>
+  <materials>
+    <material name="G4_PARAFFIN">
+      <D type="density" value="0.93" unit="g/cm3" />
+       <fraction n="0.148605" ref="H" />
+       <fraction n="0.851395" ref="C" />
+    </material>
+    <material name="RPC2ECRMix" state="solid">
+      <D unit="g/cm3" value="Hcal_mix_density"/>
+      <composite n="Hcal_airgap_fraction" ref="Air"/>
+      <composite n="Hcal_graphite_fraction" ref="graphite"/>
+      <composite n="Hcal_mylar_fraction" ref="mylar"/>
+      <composite n="Hcal_g10_fraction" ref="g10"/>
+    </material>
+    <material name="ECCableMix" state="solid">
+      <D unit="g/cm3" value="0.2"/>
+      <composite n="0.001" ref="Air"/>
+      <composite n="0.666" ref="Cu"/>
+      <composite n="0.333" ref="g10"/>
+    </material>
+  </materials>
+  <limits>
+    <limitset name="cal_limits">
+      <limit name="step_length_max" particles="*" value="cal_steplimit_val" unit="cal_steplimit_unit" />
+    </limitset>
+    <limitset name="TPC_limits">
+      <limit name="step_length_max" particles="*" value="tpc_steplimit_val" unit="tpc_steplimit_unit" />
+    </limitset>
+    <limitset name="Tracker_limits">
+      <limit name="step_length_max" particles="*" value="tracker_steplimit_val" unit="tracker_steplimit_unit" />
+    </limitset>
+  </limits>
+  <include ref="display.xml"/>
+  <include ref="CepCBeamPipe_v01_01.xml"/>
+  <include ref="vxd07_02.xml"/>
+  <include ref="ftd_cepc_02.xml"/>
+  <include ref="sit_simple_planar_sensors_01.xml"/>
+  <include ref="tpc10_01.xml"/>
+  <include ref="set_simple_planar_sensors_01.xml"/>
+  <include ref="SEcal05_siw_Barrel.xml"/>
+  <include ref="SEcal05_siw_Endcaps.xml"/>
+  <include ref="SEcal05_siw_ECRing_02.xml"/>
+  <include ref="SHcalRpc01_Barrel_01.xml"/>
+  <include ref="SHcalRpc01_Endcaps_01.xml"/>
+  <include ref="SHcalRpc01_EndcapRing_01.xml"/>
+  <include ref="Yoke05_Barrel.xml"/>
+  <include ref="Yoke05_Endcaps.xml"/>
+  <include ref="coil03.xml"/>
+  <!--include ref="SServices00.xml"/-->
+  <plugins>
+    <plugin name="DD4hepVolumeManager"/>
+    <plugin name="InstallSurfaceManager"/>
+  </plugins>
+  <!--include ref="Field_Solenoid_Map_s_4.0T.xml"/>
+  <include ref="Field_AntiDID_Map_s.xml"/>
+  <include ref="Field_FwdMagnets_Ideal_1000GeV.xml"/-->
+  <fields>
+    <field name="InnerSolenoid" type="solenoid"
+           inner_field="Field_nominal_value"
+           outer_field="0"
+           zmax="Coil_half_length"
+	   inner_radius="Hcal_outer_radius+Coil_thickness/2"
+           outer_radius="Yoke_barrel_inner_radius">
+    </field>
+    <field name="OuterSolenoid" type="solenoid"
+           inner_field="0"
+           outer_field="Field_outer_nominal_value"
+           zmax="Coil_half_length"
+	   inner_radius="Yoke_barrel_inner_radius"
+           outer_radius="Yoke_barrel_inner_radius+Field_outer_thickness">
+    </field>
+  </fields>
+</lccdd>
diff --git a/Detector/DetCEPCv4/compact/CepC_v4.xml b/Detector/DetCEPCv4/compact/CepC_v4.xml
index 105a00712d512d1c7788aeece1bde77c6e406608..e4891fc97ce7e23615ccd311134ca05c48aab126 100644
--- a/Detector/DetCEPCv4/compact/CepC_v4.xml
+++ b/Detector/DetCEPCv4/compact/CepC_v4.xml
@@ -56,14 +56,14 @@
   </limits>
   <include ref="display.xml"/>
   <include ref="Beampipe_o1_v01_01.xml"/>
-  <include ref="vxd07.xml"/>
-  <include ref="ftd_cepc.xml"/>
+  <include ref="vxd07_01.xml"/>
+  <include ref="ftd_cepc_01.xml"/>
   <include ref="sit_simple_planar_sensors_01.xml"/>
   <include ref="tpc10_01.xml"/>
   <include ref="set_simple_planar_sensors_01.xml"/>
   <include ref="SEcal05_siw_Barrel.xml"/>
   <include ref="SEcal05_siw_Endcaps.xml"/>
-  <include ref="SEcal05_siw_ECRing.xml"/>
+  <include ref="SEcal05_siw_ECRing_01.xml"/>
   <include ref="SHcalRpc01_Barrel_01.xml"/>
   <include ref="SHcalRpc01_Endcaps_01.xml"/>
   <include ref="SHcalRpc01_EndcapRing_01.xml"/>
diff --git a/Detector/DetCEPCv4/compact/SEcal05_siw_ECRing.xml b/Detector/DetCEPCv4/compact/SEcal05_siw_ECRing_01.xml
similarity index 100%
rename from Detector/DetCEPCv4/compact/SEcal05_siw_ECRing.xml
rename to Detector/DetCEPCv4/compact/SEcal05_siw_ECRing_01.xml
diff --git a/Detector/DetCEPCv4/compact/SEcal05_siw_ECRing_02.xml b/Detector/DetCEPCv4/compact/SEcal05_siw_ECRing_02.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7ddaac0420405195b2cd851f17c7d9b0a4d6b740
--- /dev/null
+++ b/Detector/DetCEPCv4/compact/SEcal05_siw_ECRing_02.xml
@@ -0,0 +1,62 @@
+<lccdd>
+
+  <detectors>
+    <detector name="EcalPlug" type="SEcal05_ECRing" id="ILDDetID_ECAL_PLUG" readout="EcalEndcapRingCollection" vis="BlueVis" >
+      <comment>EM Calorimeter Endcaps</comment>
+
+      <envelope vis="ILD_ECALVis">
+        <shape type="BooleanShape" operation="Subtraction" material="ECCableMix">
+          <shape type="BooleanShape" operation="Subtraction" material="Air">
+            <shape type="Box" dx="Ecal_endcap_center_box_size/2.0" dy="Ecal_endcap_center_box_size/2.0"
+                   dz="EcalEndcapRing_max_z"/>
+            <shape type="Tube" rmin="0" rmax="EcalEndcapRing_inner_radius - env_safety" dz="2.0*EcalEndcapRing_max_z + env_safety"/>
+
+            <position x="0.5*(EcalEndcapRing_min_z + EcalEndcapRing_max_z)*tan(Ecal_ECRing_Crossing_Angle/2)" y="0" z="0"/>
+            <!-- position x="0" y="0" z="0"/ -->
+
+          </shape>
+          <shape type="Box" dx="Ecal_endcap_center_box_size/2 + env_safety" dy="Ecal_endcap_center_box_size/2 + env_safety"
+                 dz="EcalEndcapRing_min_z"/>
+        </shape>
+      </envelope>
+
+      <type_flags type=" DetType_CALORIMETER + DetType_ENDCAP + DetType_ELECTROMAGNETIC + DetType_AUXILIARY " />
+
+      <staves  material = "G4_W"  vis="GreenVis"/>
+
+      <layer repeat="Ecal_nlayers1/2" vis="SeeThrough" >
+	<slice material = "g10"         thickness = "Ecal_ECRing_structure_thickness"                    vis="Invisible" />
+        <slice material = "Si"          thickness = "Ecal_Si_thickness" sensitive = "yes"     limits="cal_limits" vis="RedVis"    />
+        <slice material = "g10"         thickness = "Ecal_ECRing_structure_thickness"                    vis="Invisible" />
+	<slice material = "g10"         thickness = "Ecal_fiber_thickness_slabAbs"                    vis="Invisible" />
+        <slice material = "G4_W"        thickness = "Ecal_radiator_layers_set1_thickness"   vis="GreenVis"   />
+	<slice material = "g10"         thickness = "Ecal_fiber_thickness_slabAbs"                    vis="Invisible" />
+        <slice material = "g10"         thickness = "Ecal_ECRing_structure_thickness"                    vis="Invisible" />
+	<slice material = "Si"          thickness = "Ecal_Si_thickness" sensitive = "yes"     limits="cal_limits" vis="RedVis"    />
+	<slice material = "g10"         thickness = "Ecal_ECRing_structure_thickness"                    vis="Invisible" />
+      </layer>
+      <layer repeat="(Ecal_nlayers2+1)/2" vis="SeeThrough">
+	<slice material = "g10"         thickness = "Ecal_ECRing_structure_thickness"                    vis="Invisible" />
+        <slice material = "Si"          thickness = "Ecal_Si_thickness" sensitive = "yes"     limits="cal_limits" vis="RedVis"    />
+	<slice material = "g10"         thickness = "Ecal_ECRing_structure_thickness"                    vis="Invisible" />
+        <slice material = "g10"         thickness = "Ecal_fiber_thickness_slabAbs"                    vis="Invisible" />
+        <slice material = "G4_W"        thickness = "Ecal_radiator_layers_set2_thickness"   vis="GreenVis"   />
+	<slice material = "g10"         thickness = "Ecal_fiber_thickness_slabAbs"                    vis="Invisible" />
+	<slice material = "g10"         thickness = "Ecal_ECRing_structure_thickness"                    vis="Invisible" />
+        <slice material = "Si"          thickness = "Ecal_Si_thickness" sensitive = "yes"     limits="cal_limits" vis="RedVis"    />
+	<slice material = "g10"         thickness = "Ecal_ECRing_structure_thickness"                    vis="Invisible" />
+      </layer>
+    </detector>
+  </detectors>
+
+  <readouts>
+    <readout name="EcalEndcapRingCollection">
+      <segmentation type="CartesianGridXY" grid_size_x="Ecal_cells_size" grid_size_y="Ecal_cells_size"/>
+      <id>system:5,module:3,stave:4,tower:3,layer:6,x:32:-16,y:-16</id>
+    </readout>
+  </readouts>
+
+
+
+</lccdd>
+
diff --git a/Detector/DetCEPCv4/compact/SEcal05_siw_Endcaps.xml b/Detector/DetCEPCv4/compact/SEcal05_siw_Endcaps.xml
index f2763e65e070bfdf6b2da6eb7c9b6452dad3276a..214e9983bf2f6d78b51f38cc3768b23fac88b7ae 100644
--- a/Detector/DetCEPCv4/compact/SEcal05_siw_Endcaps.xml
+++ b/Detector/DetCEPCv4/compact/SEcal05_siw_Endcaps.xml
@@ -12,8 +12,8 @@
             <shape type="PolyhedraRegular"  numsides="EcalEndcap_symmetry" rmin="0"
                    rmax="EcalEndcap_outer_radius + 2.*env_safety" dz="2.0*EcalEndcap_min_z - env_safety"/>
           </shape>
-          <shape type="Box" dx="EcalEndcap_inner_radius - env_safety"
-                 dy="EcalEndcap_inner_radius - env_safety" dz="(EcalEndcap_max_z + env_safety )"/>
+          <shape type="Box" dx="EcalEndcap_inner_radius"
+                 dy="EcalEndcap_inner_radius" dz="(EcalEndcap_max_z + env_safety )"/>
           <rotation x="0*deg" y="0*deg" z="-180*deg/EcalEndcap_symmetry"/>
         </shape>
         <rotation x="0*deg" y="0*deg" z="180*deg/EcalEndcap_symmetry"/>
diff --git a/Detector/DetCEPCv4/compact/ftd_cepc.xml b/Detector/DetCEPCv4/compact/ftd_cepc_01.xml
similarity index 99%
rename from Detector/DetCEPCv4/compact/ftd_cepc.xml
rename to Detector/DetCEPCv4/compact/ftd_cepc_01.xml
index c32b76369a1474eb45996d855444066ed4bba94a..da6abb896fdc361950dcead15b0031fa05be45d8 100644
--- a/Detector/DetCEPCv4/compact/ftd_cepc.xml
+++ b/Detector/DetCEPCv4/compact/ftd_cepc_01.xml
@@ -2,11 +2,8 @@
    FTD parameters for ILD_o1_v5
    from database : ftd_simple_staggered_02
   -->
-
 <lccdd>
   <detectors>
-
-
     <detector name="FTD" type="FTD_cepc" vis="FTDVis" id="ILDDetID_FTD" limits="Tracker_limits" readout="FTDCollection" insideTrackingVolume="true">
 
       <envelope vis="ILD_FTDVis">
diff --git a/Detector/DetCEPCv4/compact/ftd_cepc_02.xml b/Detector/DetCEPCv4/compact/ftd_cepc_02.xml
new file mode 100644
index 0000000000000000000000000000000000000000..66e75c1dbbd95cc5155904feb069016bac32471d
--- /dev/null
+++ b/Detector/DetCEPCv4/compact/ftd_cepc_02.xml
@@ -0,0 +1,64 @@
+<!-- FTD parameters for updating new MDI on CEPCv4, only envelope changed-->
+<lccdd>
+  <define>
+    <constant name="FTD_inner_radius_new" value="BeamPipe_VertexRegion_rmax+env_safety"/>
+    <constant name="FTD_cone_radius_new"  value="FTD_half_length*tan(CepC_Main_Crossing_Angle/2.)+BeamPipe_Dnstream_inner_radius+BeamPipe_Cu_thickness+env_safety"/>
+  </define>
+
+  <detectors>
+    <detector name="FTD" type="FTD_cepc" vis="FTDVis" id="ILDDetID_FTD" limits="Tracker_limits" readout="FTDCollection" insideTrackingVolume="true">
+
+      <envelope vis="ILD_FTDVis">
+        <shape type="BooleanShape" operation="Subtraction" material="Air" >
+          <shape type="BooleanShape" operation="Subtraction" material="Air" >
+            <shape type="BooleanShape" operation="Subtraction" material="Air" >
+              <shape type="BooleanShape" operation="Subtraction" material="Air" >
+                <shape type="BooleanShape" operation="Subtraction" material="Air" >
+                  <shape type="Tube" rmin="FTD_inner_radius_new"   rmax="FTD_outer_radius" dz="FTD_half_length"  />
+                  <shape type="Tube" rmin="0." rmax="FTD_outer_radius+env_safety" dz="FTD_min_z_0" />
+                </shape>
+		<shape type="Tube" rmin="FTD_outer_radius_1" rmax="FTD_outer_radius+env_safety" dz="FTD_min_z_2-FTD_layer_shift"/>
+              </shape>
+              <shape type="Tube" rmin="FTD_outer_radius_2" rmax="FTD_outer_radius+env_safety" dz="FTD_min_z_2" />
+            </shape>
+            <shape type="Cone" rmin1="0" rmax1="FTD_inner_radius_new" rmin2="0" rmax2="FTD_cone_radius_new"
+                   z="(FTD_half_length-BeamPipe_CentralAl_zmax)/2. + env_safety "/>
+            <position x="0" y="0" z="BeamPipe_CentralAl_zmax+(FTD_half_length-BeamPipe_CentralAl_zmax)/2."/>
+          </shape>
+          <shape type="Cone" rmin1="0" rmax1="FTD_inner_radius_new" rmin2="0" rmax2="FTD_cone_radius_new"
+                 z="(FTD_half_length-BeamPipe_CentralAl_zmax)/2. + env_safety "/>
+          <position x="0" y="0" z="-BeamPipe_CentralAl_zmax-(FTD_half_length-BeamPipe_CentralAl_zmax)/2."/>
+          <rotation x="0" y="180.*deg" z="0" />
+        </shape>
+      </envelope>
+
+      <type_flags type="DetType_TRACKER +  DetType_ENDCAP  + DetType_PIXEL + DetType_STRIP "/>
+
+      <!-- SQL command: "select * from common_parameters;"  same as ftd_cepc_v4 checked by fucd, no support_spaceframe_width in ftd_cepc_v4-->
+      <common_parameters ftd1_vtx3_distance_z="top_FTD1_vtx3_distance_z"
+                         ftd7_ecal_distance_z="top_FTD7_ecal_distance_z" ftd1_sit1_radial_diff="-1*mm" ftd2_sit1_radial_diff="-1*mm" ftd3_sit2_radial_diff="-1*mm"
+                         ftd4to7_tpc_radial_gap="20*mm" beamtube_clearance="15*mm" cables_thickness="0.08*mm" cable_shield_thickness="0.1*mm" outer_cylinder_total_thickness="1*mm"
+                         petal_half_angle_support="11.25*deg" petal_y_ratio="0.5015"
+                         support_spaceframe_width="10*mm"/>
+
+      <!-- SQL command: "select * from extended_reconstruction_parameters;"  same as ftd_cepc_v4 checked by fucd -->
+      <extended_reconstruction_parameters strip_width="0.001*mm" strip_length="250*mm" strip_pitch="0.01*mm" strip_angle="5*deg"  />
+
+      <!-- SQL command: "select * from disks;"  same as ftd_cepc_v4 checked by fucd, but overlap exist, reduce petal_cp_support_dxMax from 72mm to 71.4mm/71.8mm-->
+      <disk disk_number="1" z_position_ReltoTPCLength="0"                            disk_si_thickness="0.02*mm" petal_cp_support_dxMax="71.4*mm" padUp_Si_dxMax="68*mm" petal_cp_support_thickness="1*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="1" double_sided="0"  />
+      <disk disk_number="2" z_position_ReltoTPCLength="FTD_disk2_zPosRelToTpcLength" disk_si_thickness="0.02*mm" petal_cp_support_dxMax="71.8*mm" padUp_Si_dxMax="68*mm" petal_cp_support_thickness="1*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="1" double_sided="0"  />
+      <disk disk_number="3" z_position_ReltoTPCLength="FTD_disk3_zPosRelToTpcLength" disk_si_thickness="0.20*mm" petal_cp_support_dxMax="122.49*mm" padUp_Si_dxMax="118.46*mm" petal_cp_support_thickness="2*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="0" double_sided="1"  />
+      <disk disk_number="4" z_position_ReltoTPCLength="FTD_disk4_zPosRelToTpcLength" disk_si_thickness="0.20*mm" petal_cp_support_dxMax="122.49*mm" padUp_Si_dxMax="118.46*mm" petal_cp_support_thickness="2*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="0" double_sided="1"  />
+      <disk disk_number="5" z_position_ReltoTPCLength="FTD_disk5_zPosRelToTpcLength" disk_si_thickness="0.20*mm" petal_cp_support_dxMax="122.49*mm" padUp_Si_dxMax="118.46*mm" petal_cp_support_thickness="2*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="0" double_sided="1"  />
+      <!--disk disk_number="6" z_position_ReltoTPCLength="FTD_disk6_zPosRelToTpcLength" disk_si_thickness="0.20*mm" petal_cp_support_dxMax="122.49*mm" padUp_Si_dxMax="118.46*mm" petal_cp_support_thickness="2*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="0" double_sided="1"  /-->
+      <!--disk disk_number="7" z_position_ReltoTPCLength="0"                            disk_si_thickness="0.20*mm" petal_cp_support_dxMax="122.49*mm" padUp_Si_dxMax="118.46*mm" petal_cp_support_thickness="2*mm" petal_support_zoffset="1.5*mm" sensor_is_pixel="0" double_sided="1"  /-->
+
+    </detector>
+  </detectors>
+
+  <readouts>
+    <readout name="FTDCollection">
+      <id>system:5,side:-2,layer:9,module:8,sensor:8</id>
+    </readout>
+  </readouts>
+</lccdd>
diff --git a/Detector/DetCEPCv4/compact/vxd07.xml b/Detector/DetCEPCv4/compact/vxd07.xml
deleted file mode 100644
index a3a1efd54370634ad4739bbbd5de9ae3afdcd8bb..0000000000000000000000000000000000000000
--- a/Detector/DetCEPCv4/compact/vxd07.xml
+++ /dev/null
@@ -1,102 +0,0 @@
-<!-- 
-     VXD parameters for ILD_o1_v5  
--->
-
-<lccdd>
-<detectors>
-
-<detector name="VXD" type="VXD04" vis="VXDVis" id="ILDDetID_VXD" limits="Tracker_limits" readout="VXDCollection" insideTrackingVolume="true">
-  
-  <envelope vis="ILD_VXDVis">
-    <shape type="BooleanShape" operation="Subtraction" material="Air" >
-      <shape type="BooleanShape" operation="Subtraction" material="Air" >
-	<shape type="BooleanShape" operation="Subtraction" material="Air" >
-	  <shape type="BooleanShape" operation="Subtraction" material="Air" >
-	    <shape type="Tube" rmin="VXD_inner_radius" rmax="VXD_outer_radius" dz="VXD_half_length" />
-	    <shape type="Tube" rmin="0." rmax="VXD_inner_radius_1" dz="(VXD_half_length - VXD_cone_max_z)/2. + env_safety " />
-	    <position x="0" y="0" z="VXD_half_length-(VXD_half_length - VXD_cone_max_z)/2.+ env_safety"/> 
-	  </shape>
-	  <shape type="Tube" rmin="0." rmax="VXD_inner_radius_1" dz="(VXD_half_length - VXD_cone_max_z)/2. + env_safety " />
-	  <position x="0" y="0" z="- ( VXD_half_length-(VXD_half_length - VXD_cone_max_z)/2.+ env_safety ) "/> 
-	  <rotation x="0" y="180.*deg" z="0" />
-	</shape>
-	<shape type="Cone" rmin1="0" rmax1="VXD_inner_radius" rmin2="0" rmax2="VXD_inner_radius_1" 
-	       z="(VXD_cone_max_z-VXD_cone_min_z)/2. + env_safety "/>
-	<position x="0" y="0" z="VXD_cone_min_z+(VXD_cone_max_z-VXD_cone_min_z)/2."/> 
-      </shape>
-      <shape type="Cone" rmin1="0" rmax1="VXD_inner_radius" rmin2="0" rmax2="VXD_inner_radius_1" 
-	     z="(VXD_cone_max_z-VXD_cone_min_z)/2. + env_safety "/>
-      <position x="0" y="0" z="-(VXD_cone_min_z+(VXD_cone_max_z-VXD_cone_min_z)/2.)"/> 
-      <rotation x="0" y="180.*deg" z="0" />
-    </shape>
-  </envelope>
-
-  <!-- set the detecor type flag - note: using the '+' operator here as the evaluator does not understand '|' 
-       -> be carefull not to add any flags twice !!!     -->
-  <type_flags type=" DetType_TRACKER + DetType_PIXEL + DetType_VERTEX "/>
-  
-  <!-- database : TMP_DB10 -->
-  <!-- SQL command: "select * from layers_common_parameters;"  -->
-  <layers_common_parameters id="1"
-			    electronics_structure_thickness="0.1*mm"
-			    active_silicon_thickness="0.05*mm"
-			    support_structure_radial_thickness="0.49392*mm"
-			    end_electronics_half_z="5*mm" 
-			    strip_final_beampipe_radious="VXD_inner_radius_1"	
-			    side_band_electronics_option="1"
-			    end_ladd_electronics_option="1"
-			    side_band_electronics_width="0.5*mm" 
-			    side_band_electronics_thickness="0.05*mm"
-			    active_side_band_electronics_option="0"
-			    layer_gap="2*mm"
-			    flex_cable_material="G4_KAPTON"
-			    flex_cable_thickness="0.05*mm"
-			    foam_spacer_material="SiC_foam"
-			    foam_spacer_thickness="0.94*mm"
-			    metal_traces_material="G4_Al"
-			    metal_traces_thickness="0.01*mm"
-			    cool_pipe_material="titanium" 
-			    cool_pipe_inner_radius="0.75*mm"
-			    cool_pipe_outer_radius="1*mm"
-			    external_kapton_thickness="0.05*mm"
-			    external_metal_thickness="0.009*mm"  />
-  <!-- SQL command: "SELECT * FROM cryostat;"  -->
-  <cryostat id="1" alu_skin_inner_radious="100*mm" alu_skin_tickness="0.5*mm" foam_inner_radious="90*mm" foam_tickness="10*mm" foam_half_z="166.6*mm" 
-	    endplate_inner_radious="VXD_inner_radius_1+5.6*mm" 
-	    cryostat_option="1" cryostat_apperture="30*mm" cryostat_apperture_radius="1.5*mm"  />
-  <!-- SQL command: "select * from support_shell;"  -->
-  <support_shell id="0" inner_radious="65*mm" half_z="145*mm" thickess="0.49392*mm" endplate_inner_radious="30*mm" endplate_inner_radius_L1="15.7*mm" endplate_outer_radius_L1="20*mm" 
-		 offset_ladder_block="0.28224*mm" beryllium_ladder_block_length="5*mm" beryllium_ladder_block_thickness="0.25*mm" shell_endplate_thickness="2*mm" forward_shell_half_z="6.5*mm"  />
-  <!-- SQL command: "select * from layer;"  -->
-  <layer id="0" layer_radius="VXD_radius_r1" ladder_length="VXD_length_r1" ladder_width="5.5*mm" nb_ladder="10" ladder_gap="0" strip_line_final_z="150*mm" end_electronics_width="5.5*mm" 
-	 initial_kapton_striplines_thickness="0.04566*mm" final_kapton_striplines_thickness="0.02435*mm" initial_metal_striplines_thickness="0.00806*mm" 
-	 final_metal_striplines_thickness="0.0043*mm" support_width="4.5*mm"  />
-  <layer id="1" layer_radius="VXD_radius_r1" ladder_length="VXD_length_r1" ladder_width="5.5*mm" nb_ladder="10" ladder_gap="0" strip_line_final_z="150*mm" end_electronics_width="5.5*mm" 
-	 initial_kapton_striplines_thickness="0.04566*mm" final_kapton_striplines_thickness="0.02435*mm" initial_metal_striplines_thickness="0.00806*mm" 
-	 final_metal_striplines_thickness="0.0043*mm" support_width="4.5*mm"  />
-  <layer id="2" layer_radius="VXD_radius_r3" ladder_length="VXD_length_r3" ladder_width="11*mm" nb_ladder="11" ladder_gap="0*mm" strip_line_final_z="150*mm" end_electronics_width="11*mm" 
-	 initial_kapton_striplines_thickness="0.04102*mm" final_kapton_striplines_thickness="0.05059*mm" initial_metal_striplines_thickness="0.00724*mm" 
-	 final_metal_striplines_thickness="0.00893*mm" support_width="10*mm"  />
-  <layer id="3" layer_radius="VXD_radius_r3" ladder_length="VXD_length_r3" ladder_width="11*mm" nb_ladder="11" ladder_gap="0*mm" strip_line_final_z="150*mm" end_electronics_width="11*mm" 
-	 initial_kapton_striplines_thickness="0.04102*mm" final_kapton_striplines_thickness="0.05059*mm" initial_metal_striplines_thickness="0.00724*mm" 
-	 final_metal_striplines_thickness="0.00893*mm" support_width="10*mm"  />
-  <layer id="4" layer_radius="VXD_radius_r5" ladder_length="VXD_length_r3" ladder_width="11*mm" nb_ladder="17" ladder_gap="0*mm" strip_line_final_z="150*mm" end_electronics_width="11*mm" 
-	 initial_kapton_striplines_thickness="0.04044*mm" final_kapton_striplines_thickness="0.07819*mm" initial_metal_striplines_thickness="0.00714*mm" 
-	 final_metal_striplines_thickness="0.0138*mm" support_width="10*mm"  />
-  <layer id="5" layer_radius="VXD_radius_r5" ladder_length="VXD_length_r3" ladder_width="11*mm" nb_ladder="17" ladder_gap="0*mm" strip_line_final_z="150*mm" end_electronics_width="11*mm" 
-	 initial_kapton_striplines_thickness="0.04044*mm" final_kapton_striplines_thickness="0.07819*mm" initial_metal_striplines_thickness="0.00714*mm" 
-	 final_metal_striplines_thickness="0.0138*mm" support_width="10*mm"  />
-</detector> <!--vxd-->
-
-</detectors>
-
-  <readouts>
-    <readout name="VXDCollection">
-      <!-- fixme: for now DD4hep cannot handle signed values - side should actually be "-2" -->
-      <id>system:5,side:-2,layer:9,module:8,sensor:8,barrelside:-2</id>
-    </readout>
-  </readouts>
-
-
-
-</lccdd>
diff --git a/Detector/DetCEPCv4/compact/vxd07_01.xml b/Detector/DetCEPCv4/compact/vxd07_01.xml
new file mode 100644
index 0000000000000000000000000000000000000000..77374a30526776c53a80bc8a3888c64388237228
--- /dev/null
+++ b/Detector/DetCEPCv4/compact/vxd07_01.xml
@@ -0,0 +1,98 @@
+<!-- 
+     VXD parameters for ILD_o1_v5  
+-->
+
+<lccdd>
+  <detectors>
+    <detector name="VXD" type="VXD04" vis="VXDVis" id="ILDDetID_VXD" limits="Tracker_limits" readout="VXDCollection" insideTrackingVolume="true">
+  
+      <envelope vis="ILD_VXDVis">
+	<shape type="BooleanShape" operation="Subtraction" material="Air" >
+	  <shape type="BooleanShape" operation="Subtraction" material="Air" >
+	    <shape type="BooleanShape" operation="Subtraction" material="Air" >
+	      <shape type="BooleanShape" operation="Subtraction" material="Air" >
+		<shape type="Tube" rmin="VXD_inner_radius" rmax="VXD_outer_radius" dz="VXD_half_length" />
+		<shape type="Tube" rmin="0." rmax="VXD_inner_radius_1" dz="(VXD_half_length - VXD_cone_max_z)/2. + env_safety " />
+		<position x="0" y="0" z="VXD_half_length-(VXD_half_length - VXD_cone_max_z)/2.+ env_safety"/> 
+	      </shape>
+	      <shape type="Tube" rmin="0." rmax="VXD_inner_radius_1" dz="(VXD_half_length - VXD_cone_max_z)/2. + env_safety " />
+	      <position x="0" y="0" z="- ( VXD_half_length-(VXD_half_length - VXD_cone_max_z)/2.+ env_safety ) "/> 
+	      <rotation x="0" y="180.*deg" z="0" />
+	    </shape>
+	    <shape type="Cone" rmin1="0" rmax1="VXD_inner_radius" rmin2="0" rmax2="VXD_inner_radius_1" 
+		   z="(VXD_cone_max_z-VXD_cone_min_z)/2. + env_safety "/>
+	    <position x="0" y="0" z="VXD_cone_min_z+(VXD_cone_max_z-VXD_cone_min_z)/2."/> 
+	  </shape>
+	  <shape type="Cone" rmin1="0" rmax1="VXD_inner_radius" rmin2="0" rmax2="VXD_inner_radius_1" 
+		 z="(VXD_cone_max_z-VXD_cone_min_z)/2. + env_safety "/>
+	  <position x="0" y="0" z="-(VXD_cone_min_z+(VXD_cone_max_z-VXD_cone_min_z)/2.)"/> 
+	  <rotation x="0" y="180.*deg" z="0" />
+	</shape>
+      </envelope>
+      
+      <!-- set the detecor type flag - note: using the '+' operator here as the evaluator does not understand '|' 
+	   -> be carefull not to add any flags twice !!!     -->
+      <type_flags type=" DetType_TRACKER + DetType_PIXEL + DetType_VERTEX "/>
+      
+      <!-- database : TMP_DB10 -->
+      <!-- SQL command: "select * from layers_common_parameters;"  -->
+      <layers_common_parameters id="1"
+				electronics_structure_thickness="0.1*mm"
+				active_silicon_thickness="0.05*mm"
+				support_structure_radial_thickness="0.49392*mm"
+				end_electronics_half_z="5*mm" 
+				strip_final_beampipe_radious="VXD_inner_radius_1"	
+				side_band_electronics_option="1"
+				end_ladd_electronics_option="1"
+				side_band_electronics_width="0.5*mm" 
+				side_band_electronics_thickness="0.05*mm"
+				active_side_band_electronics_option="0"
+				layer_gap="2*mm"
+				flex_cable_material="G4_KAPTON"
+				flex_cable_thickness="0.05*mm"
+				foam_spacer_material="SiC_foam"
+				foam_spacer_thickness="0.94*mm"
+				metal_traces_material="G4_Al"
+				metal_traces_thickness="0.01*mm"
+				cool_pipe_material="titanium" 
+				cool_pipe_inner_radius="0.75*mm"
+				cool_pipe_outer_radius="1*mm"
+				external_kapton_thickness="0.05*mm"
+				external_metal_thickness="0.009*mm"  />
+      <!-- SQL command: "SELECT * FROM cryostat;"  -->
+      <cryostat id="1" alu_skin_inner_radious="100*mm" alu_skin_tickness="0.5*mm" foam_inner_radious="90*mm" foam_tickness="10*mm" foam_half_z="166.6*mm" 
+		endplate_inner_radious="VXD_inner_radius_1+5.6*mm" 
+		cryostat_option="1" cryostat_apperture="30*mm" cryostat_apperture_radius="1.5*mm"  />
+      <!-- SQL command: "select * from support_shell;"  -->
+      <support_shell id="0" inner_radious="65*mm" half_z="145*mm" thickess="0.49392*mm" endplate_inner_radious="30*mm" endplate_inner_radius_L1="15.7*mm" endplate_outer_radius_L1="20*mm" 
+		     offset_ladder_block="0.28224*mm" beryllium_ladder_block_length="5*mm" beryllium_ladder_block_thickness="0.25*mm" shell_endplate_thickness="2*mm" forward_shell_half_z="6.5*mm"  />
+      <!-- SQL command: "select * from layer;"  -->
+      <layer id="0" layer_radius="VXD_radius_r1" ladder_length="VXD_length_r1" ladder_width="5.5*mm" nb_ladder="10" ladder_gap="0" strip_line_final_z="150*mm" end_electronics_width="5.5*mm" 
+	     initial_kapton_striplines_thickness="0.04566*mm" final_kapton_striplines_thickness="0.02435*mm" initial_metal_striplines_thickness="0.00806*mm" 
+	     final_metal_striplines_thickness="0.0043*mm" support_width="4.5*mm"  />
+      <layer id="1" layer_radius="VXD_radius_r1" ladder_length="VXD_length_r1" ladder_width="5.5*mm" nb_ladder="10" ladder_gap="0" strip_line_final_z="150*mm" end_electronics_width="5.5*mm" 
+	     initial_kapton_striplines_thickness="0.04566*mm" final_kapton_striplines_thickness="0.02435*mm" initial_metal_striplines_thickness="0.00806*mm" 
+	     final_metal_striplines_thickness="0.0043*mm" support_width="4.5*mm"  />
+      <layer id="2" layer_radius="VXD_radius_r3" ladder_length="VXD_length_r3" ladder_width="11*mm" nb_ladder="11" ladder_gap="0*mm" strip_line_final_z="150*mm" end_electronics_width="11*mm" 
+	     initial_kapton_striplines_thickness="0.04102*mm" final_kapton_striplines_thickness="0.05059*mm" initial_metal_striplines_thickness="0.00724*mm" 
+	     final_metal_striplines_thickness="0.00893*mm" support_width="10*mm"  />
+      <layer id="3" layer_radius="VXD_radius_r3" ladder_length="VXD_length_r3" ladder_width="11*mm" nb_ladder="11" ladder_gap="0*mm" strip_line_final_z="150*mm" end_electronics_width="11*mm" 
+	     initial_kapton_striplines_thickness="0.04102*mm" final_kapton_striplines_thickness="0.05059*mm" initial_metal_striplines_thickness="0.00724*mm" 
+	     final_metal_striplines_thickness="0.00893*mm" support_width="10*mm"  />
+      <layer id="4" layer_radius="VXD_radius_r5" ladder_length="VXD_length_r3" ladder_width="11*mm" nb_ladder="17" ladder_gap="0*mm" strip_line_final_z="150*mm" end_electronics_width="11*mm" 
+	     initial_kapton_striplines_thickness="0.04044*mm" final_kapton_striplines_thickness="0.07819*mm" initial_metal_striplines_thickness="0.00714*mm" 
+	     final_metal_striplines_thickness="0.0138*mm" support_width="10*mm"  />
+      <layer id="5" layer_radius="VXD_radius_r5" ladder_length="VXD_length_r3" ladder_width="11*mm" nb_ladder="17" ladder_gap="0*mm" strip_line_final_z="150*mm" end_electronics_width="11*mm" 
+	     initial_kapton_striplines_thickness="0.04044*mm" final_kapton_striplines_thickness="0.07819*mm" initial_metal_striplines_thickness="0.00714*mm" 
+	     final_metal_striplines_thickness="0.0138*mm" support_width="10*mm"  />
+    </detector> <!--vxd-->
+    
+  </detectors>
+
+  <readouts>
+    <readout name="VXDCollection">
+      <!-- fixme: for now DD4hep cannot handle signed values - side should actually be "-2" -->
+      <id>system:5,side:-2,layer:9,module:8,sensor:8,barrelside:-2</id>
+    </readout>
+  </readouts>
+</lccdd>
diff --git a/Detector/DetCEPCv4/compact/vxd07_02.xml b/Detector/DetCEPCv4/compact/vxd07_02.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fa4dc545e9b7f0227cfe71a29011b83fa594d199
--- /dev/null
+++ b/Detector/DetCEPCv4/compact/vxd07_02.xml
@@ -0,0 +1,99 @@
+<!-- VXD parameters for updating new MDI on CEPCv4, only envelope changed-->
+<lccdd>
+  <define>
+    <constant name="VXD_inner_radius_center" value="BeamPipe_VertexRegion_rmax+env_safety"/>
+    <constant name="VXD_inner_radius_side"   value="BeamPipe_ForwardRegion_rmax+env_safety"/>
+  </define>
+
+  <detectors>
+    <detector name="VXD" type="VXD04" vis="VXDVis" id="ILDDetID_VXD" limits="Tracker_limits" readout="VXDCollection" insideTrackingVolume="true">
+      <envelope vis="ILD_VXDVis">
+        <shape type="BooleanShape" operation="Subtraction" material="Air" >
+          <shape type="BooleanShape" operation="Subtraction" material="Air" >
+            <shape type="BooleanShape" operation="Subtraction" material="Air" >
+              <shape type="BooleanShape" operation="Subtraction" material="Air" >
+                <shape type="Tube" rmin="VXD_inner_radius_center" rmax="VXD_outer_radius" dz="VXD_half_length" />
+                <shape type="Tube" rmin="0." rmax="VXD_inner_radius_side" dz="(VXD_half_length - VXD_cone_max_z)/2. + env_safety " />
+                <position x="0" y="0" z="VXD_half_length-(VXD_half_length - VXD_cone_max_z)/2.+ env_safety"/>
+              </shape>
+              <shape type="Tube" rmin="0." rmax="VXD_inner_radius_side" dz="(VXD_half_length - VXD_cone_max_z)/2. + env_safety " />
+              <position x="0" y="0" z="- ( VXD_half_length-(VXD_half_length - VXD_cone_max_z)/2.+ env_safety ) "/>
+              <rotation x="0" y="180.*deg" z="0" />
+            </shape>
+            <shape type="Cone" rmin1="0" rmax1="VXD_inner_radius_center" rmin2="0" rmax2="VXD_inner_radius_side"
+                   z="(VXD_cone_max_z-VXD_cone_min_z)/2. + env_safety "/>
+            <position x="0" y="0" z="VXD_cone_min_z+(VXD_cone_max_z-VXD_cone_min_z)/2."/>
+          </shape>
+          <shape type="Cone" rmin1="0" rmax1="VXD_inner_radius_center" rmin2="0" rmax2="VXD_inner_radius_side"
+                 z="(VXD_cone_max_z-VXD_cone_min_z)/2. + env_safety "/>
+          <position x="0" y="0" z="-(VXD_cone_min_z+(VXD_cone_max_z-VXD_cone_min_z)/2.)"/>
+          <rotation x="0" y="180.*deg" z="0" />
+        </shape>
+      </envelope>
+
+      <!-- set the detecor type flag - note: using the '+' operator here as the evaluator does not understand '|' 
+	   -> be carefull not to add any flags twice !!!     -->
+      <type_flags type=" DetType_TRACKER + DetType_PIXEL + DetType_VERTEX "/>
+      
+      <!-- database : TMP_DB10 -->
+      <!-- SQL command: "select * from layers_common_parameters;"  -->
+      <layers_common_parameters id="1"
+				electronics_structure_thickness="0.1*mm"
+				active_silicon_thickness="0.05*mm"
+				support_structure_radial_thickness="0.49392*mm"
+				end_electronics_half_z="5*mm" 
+				strip_final_beampipe_radious="VXD_inner_radius_1"	
+				side_band_electronics_option="1"
+				end_ladd_electronics_option="1"
+				side_band_electronics_width="0.5*mm" 
+				side_band_electronics_thickness="0.05*mm"
+				active_side_band_electronics_option="0"
+				layer_gap="2*mm"
+				flex_cable_material="G4_KAPTON"
+				flex_cable_thickness="0.05*mm"
+				foam_spacer_material="SiC_foam"
+				foam_spacer_thickness="0.94*mm"
+				metal_traces_material="G4_Al"
+				metal_traces_thickness="0.01*mm"
+				cool_pipe_material="titanium" 
+				cool_pipe_inner_radius="0.75*mm"
+				cool_pipe_outer_radius="1*mm"
+				external_kapton_thickness="0.05*mm"
+				external_metal_thickness="0.009*mm"  />
+      <!-- SQL command: "SELECT * FROM cryostat;"  -->
+      <cryostat id="1" alu_skin_inner_radious="100*mm" alu_skin_tickness="0.5*mm" foam_inner_radious="90*mm" foam_tickness="10*mm" foam_half_z="166.6*mm" 
+		endplate_inner_radious="VXD_inner_radius_1+5.6*mm" 
+		cryostat_option="1" cryostat_apperture="30*mm" cryostat_apperture_radius="1.5*mm"  />
+      <!-- SQL command: "select * from support_shell;"  -->
+      <support_shell id="0" inner_radious="65*mm" half_z="145*mm" thickess="0.49392*mm" endplate_inner_radious="30*mm" endplate_inner_radius_L1="15.7*mm" endplate_outer_radius_L1="20*mm" 
+		     offset_ladder_block="0.28224*mm" beryllium_ladder_block_length="5*mm" beryllium_ladder_block_thickness="0.25*mm" shell_endplate_thickness="2*mm" forward_shell_half_z="6.5*mm"  />
+      <!-- SQL command: "select * from layer;"  -->
+      <layer id="0" layer_radius="VXD_radius_r1" ladder_length="VXD_length_r1" ladder_width="5.5*mm" nb_ladder="10" ladder_gap="0" strip_line_final_z="150*mm" end_electronics_width="5.5*mm" 
+	     initial_kapton_striplines_thickness="0.04566*mm" final_kapton_striplines_thickness="0.02435*mm" initial_metal_striplines_thickness="0.00806*mm" 
+	     final_metal_striplines_thickness="0.0043*mm" support_width="4.5*mm"  />
+      <layer id="1" layer_radius="VXD_radius_r1" ladder_length="VXD_length_r1" ladder_width="5.5*mm" nb_ladder="10" ladder_gap="0" strip_line_final_z="150*mm" end_electronics_width="5.5*mm" 
+	     initial_kapton_striplines_thickness="0.04566*mm" final_kapton_striplines_thickness="0.02435*mm" initial_metal_striplines_thickness="0.00806*mm" 
+	     final_metal_striplines_thickness="0.0043*mm" support_width="4.5*mm"  />
+      <layer id="2" layer_radius="VXD_radius_r3" ladder_length="VXD_length_r3" ladder_width="11*mm" nb_ladder="11" ladder_gap="0*mm" strip_line_final_z="150*mm" end_electronics_width="11*mm" 
+	     initial_kapton_striplines_thickness="0.04102*mm" final_kapton_striplines_thickness="0.05059*mm" initial_metal_striplines_thickness="0.00724*mm" 
+	     final_metal_striplines_thickness="0.00893*mm" support_width="10*mm"  />
+      <layer id="3" layer_radius="VXD_radius_r3" ladder_length="VXD_length_r3" ladder_width="11*mm" nb_ladder="11" ladder_gap="0*mm" strip_line_final_z="150*mm" end_electronics_width="11*mm" 
+	     initial_kapton_striplines_thickness="0.04102*mm" final_kapton_striplines_thickness="0.05059*mm" initial_metal_striplines_thickness="0.00724*mm" 
+	     final_metal_striplines_thickness="0.00893*mm" support_width="10*mm"  />
+      <layer id="4" layer_radius="VXD_radius_r5" ladder_length="VXD_length_r3" ladder_width="11*mm" nb_ladder="17" ladder_gap="0*mm" strip_line_final_z="150*mm" end_electronics_width="11*mm" 
+	     initial_kapton_striplines_thickness="0.04044*mm" final_kapton_striplines_thickness="0.07819*mm" initial_metal_striplines_thickness="0.00714*mm" 
+	     final_metal_striplines_thickness="0.0138*mm" support_width="10*mm"  />
+      <layer id="5" layer_radius="VXD_radius_r5" ladder_length="VXD_length_r3" ladder_width="11*mm" nb_ladder="17" ladder_gap="0*mm" strip_line_final_z="150*mm" end_electronics_width="11*mm" 
+	     initial_kapton_striplines_thickness="0.04044*mm" final_kapton_striplines_thickness="0.07819*mm" initial_metal_striplines_thickness="0.00714*mm" 
+	     final_metal_striplines_thickness="0.0138*mm" support_width="10*mm"  />
+    </detector> <!--vxd-->
+    
+  </detectors>
+  
+  <readouts>
+    <readout name="VXDCollection">
+      <!-- fixme: for now DD4hep cannot handle signed values - side should actually be "-2" -->
+      <id>system:5,side:-2,layer:9,module:8,sensor:8,barrelside:-2</id>
+    </readout>
+  </readouts>
+</lccdd>
diff --git a/Detector/DetCEPCv4/src/calorimeter/SEcal05_ECRing.cpp b/Detector/DetCEPCv4/src/calorimeter/SEcal05_ECRing.cpp
index 8a99826d1cf63683d84232e3b988a2e67727e233..235f5e71985ba8a4c1d9ec349539e272e7630af3 100644
--- a/Detector/DetCEPCv4/src/calorimeter/SEcal05_ECRing.cpp
+++ b/Detector/DetCEPCv4/src/calorimeter/SEcal05_ECRing.cpp
@@ -207,7 +207,8 @@ static Ref_t create_detector(Detector& theDetector, xml_h element, SensitiveDete
   caloData->extent[2] = EcalEndcapRing_min_z ;
   caloData->extent[3] = EcalEndcapRing_max_z ;
 
-
+  cout << "  Z: " << EcalEndcapRing_min_z << " -> " << EcalEndcapRing_max_z << endl;
+  cout << "  R: " << EcalEndcapRing_inner_radius << " -> " << EcalEndcapRing_outer_radius << endl; 
   //====================================================================
   //
   // general calculated parameters