diff --git a/Detector/DetCRD/compact/CRD_common_v01/Coil_Simple_v01_01.xml b/Detector/DetCRD/compact/CRD_common_v01/Coil_Simple_v01_01.xml
index a135d6eda279f136833d95e3c959db1a00520fbe..de8a6218ce18f1ea3e3780a9486b0343012001c3 100644
--- a/Detector/DetCRD/compact/CRD_common_v01/Coil_Simple_v01_01.xml
+++ b/Detector/DetCRD/compact/CRD_common_v01/Coil_Simple_v01_01.xml
@@ -1,21 +1,34 @@
 <lccdd>
   <detectors>
-    <detector name="Coil" type="SCoil02" vis="SOLVis" id="DetID_COIL" insideTrackingVolume="false" readout="COILCollection">
-      <envelope vis="SeeThrough">
-	<shape type="Tube" rmin="Solenoid_inner_radius" rmax="Solenoid_outer_radius" dz="Solenoid_half_length" material="Air"/>
+    <detector name="Coil" type="DD4hep_Solenoid_o1_v01" id="DetID_COIL" insideTrackingVolume="false" readout="COILCollection">
+      <envelope>
+	<shape type="Tube" rmin="Solenoid_inner_radius" rmax="Solenoid_outer_radius" dz="Solenoid_half_length" material="Vacuum"/>
       </envelope>
   
       <type_flags type=" DetType_SUPPORT + DetType_COIL " />
-  
-      <!--fg: for now only a simple aluminum cylinder is created inside the envelope -->
-      <tube rmin="Solenoid_inner_radius" rmax="Solenoid_outer_radius" dz="Solenoid_half_length" material="G4_Al"/>
       
+      <!-- slice can put as sensitive (tracker type), currently without sensitive, so COILCollection is null -->
+      <layer id="0" inner_r="Solenoid_inner_radius" outer_z="Solenoid_half_length" vis="SeeThrough">
+	<slice material="g10" thickness="3*mm" vis="SOLVis"/>
+	<slice material="Vacuum" thickness="6*mm" vis="Invisible"/>
+	<slice material="G4_Al" thickness="6*mm" vis="SOLVis"/>
+      </layer>
+
+      <layer id="1" inner_r="SolenoidCoil_radius" outer_z="Solenoid_half_length" vis="SeeThrough">
+	<slice material="G4_Al" thickness="55*mm" vis="SOLVis"/>
+      </layer>
+
+      <layer id="2" inner_r="Solenoid_outer_radius-27*mm" outer_z="Solenoid_half_length" vis="SeeThrough">
+        <slice material="G4_Al" thickness="6*mm" vis="SOLVis"/>
+        <slice material="Vacuum" thickness="6*mm" vis="Invisible"/>
+        <slice material="G4_Al" thickness="15*mm" vis="SOLVis"/>
+      </layer>
     </detector>
   </detectors>
 
   <readouts>
     <readout name="COILCollection">
-      <id>system:5,side:-2,layer:9,module:8,sensor:8,barrelside:-2</id>
+      <id>system:5,side:-2,layer:9,slice:8,sensor:8,barrelside:-2</id>
     </readout>
   </readouts>
 </lccdd>
diff --git a/Detector/DetCRD/compact/CRD_common_v01/Hcal_Rpc_Barrel_v01_01.xml b/Detector/DetCRD/compact/CRD_common_v01/Hcal_Rpc_Barrel_v01_01.xml
index a65ff1dc17fcceb0db7f2e97ba6c5d0220e9f054..3b44ce6bd968c02a20b85d055e5932ae3b211970 100644
--- a/Detector/DetCRD/compact/CRD_common_v01/Hcal_Rpc_Barrel_v01_01.xml
+++ b/Detector/DetCRD/compact/CRD_common_v01/Hcal_Rpc_Barrel_v01_01.xml
@@ -4,12 +4,13 @@
     <constant name="Hcal_inner_radius" value="Hcal_barrel_inner_radius"/>
     <constant name="Hcal_half_length" value="Hcal_barrel_half_length"/>
     <constant name="Hcal_inner_symmetry" value="Hcal_barrel_symmetry"/>
-    <constant name="Hcal_nlayers" value="40"/>
+    <!--40->35, if 40 and symmetry=12, out radius will exceed the Hcal_barrel_outer_radius, or change layer thickness in future-->
+    <constant name="Hcal_nlayers" value="35"/>
     <constant name="Hcal_Ecal_gap" value="Hcal_barrel_inner_radius-Ecal_barrel_outer_radius"/>
     <constant name="Ecal_outer_radius" value="Ecal_barrel_outer_radius"/>
     
     <constant name="Hcal_radiator_thickness" value="20.0*mm"/>
-    <constant name="Hcal_airgap_thickness" value="1*mm"/>
+    <constant name="Hcal_airgap_thickness" value="0.88*mm"/>
     <constant name="Hcal_mylar_cathode_thickness" value="0.18*mm"/>
     <constant name="Hcal_graphite_cathode_thickness" value="0.05*mm"/>
     <constant name="Hcal_glass_cathode_thickness" value="1.1*mm"/>
@@ -21,7 +22,7 @@
     <constant name="Hcal_electronics_mask_thickness" value="1.6*mm"/>
     
     <constant name="Hcal_gas_edge_width" value="1*mm"/>
-    <constant name="Hcal_MinNumCellsInTransvPlane" value="11"/>
+    <constant name="Hcal_MinNumCellsInTransvPlane" value="1"/>
     <constant name="Hcal_barrel_number_modules" value="5"/>
     <constant name="Hcal_chamber_thickness" value="6.73*mm"/>
     <constant name="Hcal_back_plate_thickness" value="15*mm"/>
@@ -38,15 +39,15 @@
   </define>
 
   <detectors>
-    <detector name="HcalBarrel" type="SHcalRpc01_Barrel" id="DetID_HCAL" readout="HcalBarrelCollection" vis="GreenVis" insideTrackingVolume="false" >
+    <detector name="HcalBarrel" type="SHcalRpc02_Barrel" id="DetID_HCAL" readout="HcalBarrelCollection" vis="GreenVis" insideTrackingVolume="false" >
       <comment>Hadron Calorimeter Barrel</comment>
-      <envelope vis="HCALVis">
+      <envelope>
         <shape type="BooleanShape" operation="Subtraction" material="Air" >
           <shape type="Cone" z="Hcal_barrel_half_length + env_safety/2" rmin1="0.0" rmax1="Hcal_barrel_outer_radius + env_safety"
 		 rmin2="0.0" rmax2="Hcal_barrel_outer_radius + env_safety"/>
           <shape type="PolyhedraRegular"  numsides="Hcal_barrel_symmetry" rmin="0.0"
                  rmax="Hcal_barrel_inner_radius - env_safety" dz="2*(Hcal_barrel_half_length + env_safety)"/>
-	  <rotation x="0" y="0" z="-180*deg/Hcal_barrel_symmetry"/>
+	  <!--rotation x="0" y="0" z="-180*deg/Hcal_barrel_symmetry"/-->
         </shape>
       </envelope>
       <type_flags type=" DetType_CALORIMETER + DetType_BARREL + DetType_HADRONIC " />
@@ -71,8 +72,8 @@
 
   <readouts>
     <readout name="HcalBarrelCollection">
-      <segmentation type="CartesianGridYZ" grid_size_y="Hcal_cells_size" grid_size_z="Hcal_cells_size"/>
-      <id>system:5,module:3,stave:3,tower:5,layer:6,slice:4,y:32:-16,z:-16</id>
+      <segmentation type="TiledLayerGridXY" grid_size_x="Hcal_cells_size" grid_size_y="Hcal_cells_size"/>
+      <id>system:5,module:3,stave:4,tower:5,layer:6,slice:4,x:32:-16,y:-16</id>
     </readout>
   </readouts>
 
diff --git a/Detector/DetCRD/compact/CRD_common_v01/Yoke_Barrel_v01_01.xml b/Detector/DetCRD/compact/CRD_common_v01/Yoke_Barrel_v01_01.xml
index 8960b15c2c9931e19b398d049673328950dbd7ff..e91c63b64cde2bab1d6dffc873425668e3380f01 100644
--- a/Detector/DetCRD/compact/CRD_common_v01/Yoke_Barrel_v01_01.xml
+++ b/Detector/DetCRD/compact/CRD_common_v01/Yoke_Barrel_v01_01.xml
@@ -3,35 +3,35 @@
     <constant name="Yoke_cells_size" value="30*mm"/>
   </define>
   <detectors>
-    <detector name="YokeBarrel" type="Yoke05_Barrel" id="DetID_YOKE" readout="MuonBarrelCollection" vis="YellowVis" insideTrackingVolume="false">
-      <envelope vis="YOKEVis">
-        <shape type="BooleanShape" operation="Intersection" material="Air" >
+    <detector name="YokeBarrel" type="DD4hep_RotatedPolyhedraBarrelCalorimeter_v01" id="DetID_YOKE" readout="MuonBarrelCollection" vis="YellowVis" insideTrackingVolume="false">
+      <envelope>
+        <!--shape type="BooleanShape" operation="Intersection" material="Air" >
           <shape type="Box" dx="Yoke_barrel_outer_radius + env_safety" dy="Yoke_barrel_outer_radius + env_safety" dz="Yoke_barrel_half_length + env_safety"/>
           <shape type="PolyhedraRegular" numsides="Yoke_barrel_symmetry"  rmin="Yoke_barrel_inner_radius" rmax="Yoke_barrel_outer_radius"
 		 dz="2.0*Yoke_barrel_half_length" material = "Air" />
           <rotation x="0*deg" y="0*deg" z="90*deg-180*deg/Yoke_barrel_symmetry"/>
-        </shape>
+        </shape-->
+	<shape type="Assembly"/>
       </envelope>
       
       <type_flags type=" DetType_CALORIMETER + DetType_BARREL + DetType_MUON " />
 
-      <dimensions numsides="Yoke_barrel_symmetry" rmin="Yoke_barrel_inner_radius" rmax="Yoke_barrel_outer_radius" zhalf="Yoke_barrel_half_length"  material="Air"/>
-      <position x="0*mm" y="0*mm" z="0*mm"/>
-      <rotation x="0*deg" y="0*deg" z="0*deg"/>
-      <staves  material = "Iron"  vis="BlueVis"/>
-      <!--TODO Yoke05_Barrel fixed 14 layers, should be updated as optional-->
-      <layer repeat="14" vis="SeeThrough">
+      <dimensions numsides="Yoke_barrel_symmetry" rmin="Yoke_barrel_inner_radius" rmax="Yoke_barrel_outer_radius" zhalf="Yoke_barrel_half_length"
+		  zpos="0"  phi0="0*deg" gap="10.0*mm"/>
+      <staves material="Air" vis="SeeThrough"/>
+      <layer repeat="6" vis="SeeThrough">
         <slice material = "Air"            thickness = "15.0*mm"                    vis="YellowVis" />
         <slice material = "G4_POLYSTYRENE" thickness = "10.0*mm" sensitive = "yes"  vis="CyanVis"   />
         <slice material = "Air"            thickness = "15.0*mm"                    vis="YellowVis" />
+	<slice material = "Iron"           thickness = "60.0*mm"                    vis="YOKEVis" />
       </layer>
     </detector>
   </detectors>
   
   <readouts>
     <readout name="MuonBarrelCollection">
-      <segmentation type="CartesianGridXZ" grid_size_x="Yoke_cells_size" grid_size_z="Yoke_cells_size"/>
-      <id>system:5,module:3,stave:4,tower:3,layer:6,x:32:-16,z:-16</id>
+      <segmentation type="CartesianGridXY" grid_size_x="Yoke_cells_size" grid_size_y="Yoke_cells_size"/>
+      <id>system:5,side:-2,module:3,stave:4,layer:6,slice:4,x:32:-16,y:-16</id>
     </readout>
   </readouts>
 
diff --git a/Detector/DetCRD/compact/CRD_common_v01/Yoke_Endcaps_v01_01.xml b/Detector/DetCRD/compact/CRD_common_v01/Yoke_Endcaps_v01_01.xml
index 6e49c15cb0b3c68bedf66c2f0b468689720ed70d..ca2ae5baa156975b6839e712a7cfedba99608179 100644
--- a/Detector/DetCRD/compact/CRD_common_v01/Yoke_Endcaps_v01_01.xml
+++ b/Detector/DetCRD/compact/CRD_common_v01/Yoke_Endcaps_v01_01.xml
@@ -4,35 +4,26 @@
     <constant name="YokeEndcapPlug_symmetry" value="Yoke_endcap_outer_symmetry"/>
   </define>
   <detectors>
-    <detector name="YokeEndcap" type="Yoke05_Endcaps" id="DetID_YOKE_ENDCAP" readout="MuonEndcapsCollection" vis="YellowVis" insideTrackingVolume="false" >
-      <envelope vis="YOKEVis">
-        <shape type="BooleanShape" operation="Subtraction" material="Air">
-          <shape type="BooleanShape" operation="Subtraction" material="Air">
-            <shape type="BooleanShape" operation="Intersection" material="Air">
-              <shape type="Box" dx="Yoke_endcap_outer_radius + 1.5*env_safety" dy="Yoke_endcap_outer_radius + 1.5*env_safety"
-                     dz="Yoke_endcap_zmax + env_safety"/>
-              <shape type="PolyhedraRegular" numsides="Yoke_endcap_outer_symmetry"  rmin="Yoke_endcap_inner_radius - env_safety"
-                     rmax="Yoke_endcap_outer_radius + env_safety" dz="2.*Yoke_endcap_zmax + env_safety" />
-              <rotation x="0*deg" y="0*deg" z="90*deg-180*deg/Yoke_endcap_outer_symmetry"/>
-            </shape>
-            <shape type="Box" dx="Yoke_endcap_outer_radius + 1.5*env_safety" dy="Yoke_endcap_outer_radius + 1.5*env_safety"
-                   dz="HcalEndcap_max_z + Hcal_Yoke_plug_gap - env_safety"/>
-          </shape>
-	  <!--without Yoke_plug--> 
-          <!--shape type="PolyhedraRegular" numsides="YokeEndcapPlug_symmetry"  rmin="Hcal_barrel_outer_radius*cos(pi/Hcal_endcap_outer_symmetry) + env_safety"
-                 rmax="Yoke_endcap_outer_radius + 2.0*env_safety" dz="2.*Yoke_endcap_zmin - env_safety" />
-          <rotation x="0*deg" y="0*deg" z="90*deg-180*deg/YokeEndcapPlug_symmetry"/-->
-        </shape>
+    <detector name="YokeEndcap" type="DD4hep_PolyhedraEndcapCalorimeter2" id="DetID_YOKE_ENDCAP" readout="MuonEndcapsCollection" vis="YellowVis" insideTrackingVolume="false" >
+      <envelope>
+        <!--shape type="BooleanShape" operation="Intersection" material="Air">
+          <shape type="Box" dx="Yoke_endcap_outer_radius + 1.5*env_safety" dy="Yoke_endcap_outer_radius + 1.5*env_safety"
+                 dz="Yoke_endcap_zmax + env_safety"/>
+          <shape type="PolyhedraRegular" numsides="Yoke_endcap_outer_symmetry"  rmin="Yoke_endcap_inner_radius - env_safety"
+                 rmax="Yoke_endcap_outer_radius + env_safety" dz="2.*Yoke_endcap_zmax + env_safety" />
+          <rotation x="0*deg" y="0*deg" z="90*deg-180*deg/Yoke_endcap_outer_symmetry"/>
+        </shape-->
+	<shape type="Assembly"/>
       </envelope>
 
       <type_flags type=" DetType_CALORIMETER + DetType_ENDCAP + DetType_MUON " />
 
-      <dimensions numsides="Yoke_endcap_outer_symmetry" rmin="Yoke_endcap_inner_radius" z="Yoke_barrel_half_length" />
-      <material name="Iron"/>
-      <layer repeat="12" vis="SeeThrough">
+      <dimensions numsides="Yoke_endcap_outer_symmetry" rmin="Yoke_endcap_inner_radius" rmax="Yoke_endcap_outer_radius/cos(pi/Yoke_endcap_outer_symmetry)" zmin="Yoke_endcap_zmin" />
+      <layer repeat="8" vis="SeeThrough">
         <slice material = "Air"            thickness = "15.0*mm"                    vis="YellowVis" />
         <slice material = "G4_POLYSTYRENE" thickness = "10.0*mm" sensitive = "yes"  vis="CyanVis"   />
         <slice material = "Air"            thickness = "15.0*mm"                    vis="YellowVis" />
+	<slice material = "Iron"           thickness = "60.0*mm"                    vis="YOKEVis"   />
       </layer>
     </detector>
   </detectors>
@@ -40,7 +31,7 @@
   <readouts>
     <readout name="MuonEndcapsCollection">
       <segmentation type="CartesianGridXY" grid_size_x="Yoke_cells_size" grid_size_y="Yoke_cells_size"/>
-      <id>system:5,module:3,stave:4,tower:3,layer:6,x:32:-16,y:-16</id>
+      <id>system:5,side:2,module:3,stave:4,barrel:3,layer:6,slice:4,x:32:-16,y:-16</id>
     </readout>
   </readouts>
 
diff --git a/Detector/DetCRD/compact/CRD_o1_v01/CRD_Dimensions_v01_01.xml b/Detector/DetCRD/compact/CRD_o1_v01/CRD_Dimensions_v01_01.xml
index 5d5689bec298796f9ce85c07e6fbabca05adc5ae..4f631eb52d4fd73583c61db951c78630eab0e816 100644
--- a/Detector/DetCRD/compact/CRD_o1_v01/CRD_Dimensions_v01_01.xml
+++ b/Detector/DetCRD/compact/CRD_o1_v01/CRD_Dimensions_v01_01.xml
@@ -147,7 +147,7 @@
     <constant name="TUBE_IPOuterBulge_end_radius" value="BeamPipe_Crotch_zmax*tan(CrossingAngle/2)+BeamPipe_Dnstream_inner_radius+BeamPipe_Cu_thickness"/>
     <!--"BeamPipe_Expanded_inner_radius+BeamPipe_Al_thickness+5*mm"/-->
 
-    <constant name="Ecal_barrel_inner_radius" value="1900*mm"/>
+    <constant name="Ecal_barrel_inner_radius" value="1860*mm"/><!--1900->1860, since 1900-2180 is range for symmetry=12, but now fixed as 8 in constructor code-->
     <constant name="Ecal_barrel_thickness"    value="280*mm"/>
     <constant name="Ecal_barrel_outer_radius" value="(Ecal_barrel_inner_radius+Ecal_barrel_thickness)/cos(pi/8)"/>
     <constant name="Ecal_barrel_half_length"  value="3350*mm"/>
@@ -171,17 +171,17 @@
     <constant name="Hcal_barrel_inner_radius" value="2530*mm"/>
     <constant name="Hcal_barrel_outer_radius" value="3610*mm"/>
     <constant name="Hcal_barrel_half_length"  value="4480*mm"/>
-    <constant name="Hcal_barrel_symmetry"    value="8"/>
+    <constant name="Hcal_barrel_symmetry"    value="12"/>
     
     <constant name="Hcal_endcap_inner_radius" value="400*mm"/>
-    <constant name="Hcal_endcap_outer_radius" value="Hcal_barrel_outer_radius"/>
+    <constant name="Hcal_endcap_outer_radius" value="Ecal_barrel_outer_radius"/>
     <constant name="Hcal_endcap_zmin" value="3400*mm"/>
     <constant name="Hcal_endcap_zmax" value="4480*mm"/>
-    <constant name="Hcal_endcap_symmetry" value="8"/>
+    <constant name="Hcal_endcap_symmetry" value="12"/>
     <!--obseleted constance, used by old construct, should be removed while creating new constrcut-->
     <constant name="HcalEndcap_max_z" value="Hcal_endcap_zmax"/>
     <constant name="Hcal_endcap_outer_symmetry" value="Hcal_endcap_symmetry"/>
-    <constant name="Hcal_outer_radius" value="Hcal_barrel_outer_radius"/>
+    <constant name="Hcal_outer_radius" value="Hcal_endcap_outer_radius"/>
 
     <!--constant name="Hcal_ring_inner_radius" value="Hcal_endcap_inner_radius"/>
     <constant name="Hcal_ring_outer_radius" value="Solenoid_inner_radius"/>
@@ -192,13 +192,13 @@
     <constant name="Yoke_barrel_inner_radius" value="3660*mm"/>
     <constant name="Yoke_barrel_outer_radius" value="4260*mm"/>
     <constant name="Yoke_barrel_half_length" value="Hcal_endcap_zmax"/>
-    <constant name="Yoke_barrel_symmetry" value="8"/>
+    <constant name="Yoke_barrel_symmetry" value="12"/>
     
     <constant name="Yoke_endcap_inner_radius" value="400*mm"/>
     <constant name="Yoke_endcap_outer_radius" value="Yoke_barrel_outer_radius"/>
     <constant name="Yoke_endcap_zmin" value="4660*mm"/>
     <constant name="Yoke_endcap_zmax" value="5460*mm"/>
-    <constant name="Yoke_endcap_outer_symmetry" value="8"/>
+    <constant name="Yoke_endcap_outer_symmetry" value="Yoke_barrel_symmetry"/>
     <constant name="Yoke_endcap_inner_symmetry" value="0"/>
     <!--obseleted constance, used by old construct, should be removed while creating new constrcut-->
     <constant name="Yoke_Z_start_endcaps" value="Yoke_endcap_zmin"/>
diff --git a/Detector/DetCRD/compact/CRD_o1_v01/CRD_o1_v01-onlyTracker.xml b/Detector/DetCRD/compact/CRD_o1_v01/CRD_o1_v01-onlyTracker.xml
index a393055486d50b0e6c87fa51cdc5a435b2963b3b..9ede81b793e785ed44b1eb97b12b69af9ee48716 100644
--- a/Detector/DetCRD/compact/CRD_o1_v01/CRD_o1_v01-onlyTracker.xml
+++ b/Detector/DetCRD/compact/CRD_o1_v01/CRD_o1_v01-onlyTracker.xml
@@ -13,6 +13,7 @@
   
   <includes>
     <gdmlFile  ref="${DD4hepINSTALL}/DDDetectors/compact/elements.xml"/>
+    <!--gdmlFile  ref="../CRD_common_v01/materials-woIsotope.xml"/-->
     <gdmlFile  ref="../CRD_common_v01/materials.xml"/>
   </includes>
   
@@ -31,7 +32,7 @@
   <include ref="../CRD_common_v01/VXD_v01_01.xml"/>
   <include ref="../CRD_common_v01/FTD_SkewRing_v01_01.xml"/>
   <include ref="../CRD_common_v01/SIT_SimplePixel_v01_01.xml"/>
-  <include ref="../CRD_common_v01/DC_Simple_v01_01.xml"/>
+  <include ref="../CRD_common_v01/DC_Simple_v01_02.xml"/>
   <include ref="../CRD_common_v01/SET_SimplePixel_v01_01.xml"/>
   
   <fields>
diff --git a/Detector/DetCRD/compact/CRD_o1_v01/CRD_o1_v01.xml b/Detector/DetCRD/compact/CRD_o1_v01/CRD_o1_v01.xml
index f100e6f6ae9e924f5a6ab73a894f6654c3cf081e..dda851d69ee604bbd25b5b1a68c63c879ab246fc 100644
--- a/Detector/DetCRD/compact/CRD_o1_v01/CRD_o1_v01.xml
+++ b/Detector/DetCRD/compact/CRD_o1_v01/CRD_o1_v01.xml
@@ -31,15 +31,15 @@
   <include ref="../CRD_common_v01/VXD_v01_01.xml"/>
   <include ref="../CRD_common_v01/FTD_SkewRing_v01_01.xml"/>
   <include ref="../CRD_common_v01/SIT_SimplePixel_v01_01.xml"/>
-  <include ref="../CRD_common_v01/DC_Simple_v01_01.xml"/>
+  <include ref="../CRD_common_v01/DC_Simple_v01_02.xml"/>
   <include ref="../CRD_common_v01/SET_SimplePixel_v01_01.xml"/>
   <include ref="../CRD_common_v01/Ecal_Crystal_Barrel_v01_01.xml"/>
   <!--include ref="../CRD_common_v01/Ecal_Crystal_Endcap_v01_01.xml"/-->
-  <!--include ref="../CRD_common_v01/Coil_Simple_v01_01.xml"/>
+  <include ref="../CRD_common_v01/Coil_Simple_v01_01.xml"/>
   <include ref="../CRD_common_v01/Hcal_Rpc_Barrel_v01_01.xml"/>
   <include ref="../CRD_common_v01/Hcal_Rpc_Endcaps_v01_01.xml"/>
   <include ref="../CRD_common_v01/Yoke_Barrel_v01_01.xml"/>
-  <include ref="../CRD_common_v01/Yoke_Endcaps_v01_01.xml"/-->
+  <include ref="../CRD_common_v01/Yoke_Endcaps_v01_01.xml"/>
   <!--include ref="../CRD_common_v01/Lcal_v01_01.xml"/-->
   
   <fields>
diff --git a/Detector/DetCRD/compact/CRD_o1_v02/CRD_Dimensions_v01_02.xml b/Detector/DetCRD/compact/CRD_o1_v02/CRD_Dimensions_v01_02.xml
index 5d5689bec298796f9ce85c07e6fbabca05adc5ae..4f631eb52d4fd73583c61db951c78630eab0e816 100644
--- a/Detector/DetCRD/compact/CRD_o1_v02/CRD_Dimensions_v01_02.xml
+++ b/Detector/DetCRD/compact/CRD_o1_v02/CRD_Dimensions_v01_02.xml
@@ -147,7 +147,7 @@
     <constant name="TUBE_IPOuterBulge_end_radius" value="BeamPipe_Crotch_zmax*tan(CrossingAngle/2)+BeamPipe_Dnstream_inner_radius+BeamPipe_Cu_thickness"/>
     <!--"BeamPipe_Expanded_inner_radius+BeamPipe_Al_thickness+5*mm"/-->
 
-    <constant name="Ecal_barrel_inner_radius" value="1900*mm"/>
+    <constant name="Ecal_barrel_inner_radius" value="1860*mm"/><!--1900->1860, since 1900-2180 is range for symmetry=12, but now fixed as 8 in constructor code-->
     <constant name="Ecal_barrel_thickness"    value="280*mm"/>
     <constant name="Ecal_barrel_outer_radius" value="(Ecal_barrel_inner_radius+Ecal_barrel_thickness)/cos(pi/8)"/>
     <constant name="Ecal_barrel_half_length"  value="3350*mm"/>
@@ -171,17 +171,17 @@
     <constant name="Hcal_barrel_inner_radius" value="2530*mm"/>
     <constant name="Hcal_barrel_outer_radius" value="3610*mm"/>
     <constant name="Hcal_barrel_half_length"  value="4480*mm"/>
-    <constant name="Hcal_barrel_symmetry"    value="8"/>
+    <constant name="Hcal_barrel_symmetry"    value="12"/>
     
     <constant name="Hcal_endcap_inner_radius" value="400*mm"/>
-    <constant name="Hcal_endcap_outer_radius" value="Hcal_barrel_outer_radius"/>
+    <constant name="Hcal_endcap_outer_radius" value="Ecal_barrel_outer_radius"/>
     <constant name="Hcal_endcap_zmin" value="3400*mm"/>
     <constant name="Hcal_endcap_zmax" value="4480*mm"/>
-    <constant name="Hcal_endcap_symmetry" value="8"/>
+    <constant name="Hcal_endcap_symmetry" value="12"/>
     <!--obseleted constance, used by old construct, should be removed while creating new constrcut-->
     <constant name="HcalEndcap_max_z" value="Hcal_endcap_zmax"/>
     <constant name="Hcal_endcap_outer_symmetry" value="Hcal_endcap_symmetry"/>
-    <constant name="Hcal_outer_radius" value="Hcal_barrel_outer_radius"/>
+    <constant name="Hcal_outer_radius" value="Hcal_endcap_outer_radius"/>
 
     <!--constant name="Hcal_ring_inner_radius" value="Hcal_endcap_inner_radius"/>
     <constant name="Hcal_ring_outer_radius" value="Solenoid_inner_radius"/>
@@ -192,13 +192,13 @@
     <constant name="Yoke_barrel_inner_radius" value="3660*mm"/>
     <constant name="Yoke_barrel_outer_radius" value="4260*mm"/>
     <constant name="Yoke_barrel_half_length" value="Hcal_endcap_zmax"/>
-    <constant name="Yoke_barrel_symmetry" value="8"/>
+    <constant name="Yoke_barrel_symmetry" value="12"/>
     
     <constant name="Yoke_endcap_inner_radius" value="400*mm"/>
     <constant name="Yoke_endcap_outer_radius" value="Yoke_barrel_outer_radius"/>
     <constant name="Yoke_endcap_zmin" value="4660*mm"/>
     <constant name="Yoke_endcap_zmax" value="5460*mm"/>
-    <constant name="Yoke_endcap_outer_symmetry" value="8"/>
+    <constant name="Yoke_endcap_outer_symmetry" value="Yoke_barrel_symmetry"/>
     <constant name="Yoke_endcap_inner_symmetry" value="0"/>
     <!--obseleted constance, used by old construct, should be removed while creating new constrcut-->
     <constant name="Yoke_Z_start_endcaps" value="Yoke_endcap_zmin"/>
diff --git a/Detector/DetCRD/compact/CRD_o1_v02/CRD_o1_v02.xml b/Detector/DetCRD/compact/CRD_o1_v02/CRD_o1_v02.xml
index efa213d61c3f4e34ce87362c4b1f70e6f574afe0..a508958484d0bd9cce4c894bd6d520d1ad15124e 100644
--- a/Detector/DetCRD/compact/CRD_o1_v02/CRD_o1_v02.xml
+++ b/Detector/DetCRD/compact/CRD_o1_v02/CRD_o1_v02.xml
@@ -31,15 +31,15 @@
   <include ref="../CRD_common_v01/VXD_v01_01.xml"/>
   <include ref="../CRD_common_v01/FTD_SkewRing_v01_01.xml"/>
   <include ref="../CRD_common_v01/SIT_SimplePixel_v01_01.xml"/>
-  <include ref="../CRD_common_v01/DC_Simple_v01_01.xml"/>
+  <include ref="../CRD_common_v01/DC_Simple_v01_02.xml"/>
   <include ref="../CRD_common_v01/SET_SimplePlanar_v01_01.xml"/>
   <include ref="../CRD_common_v01/Ecal_Crystal_Barrel_v01_01.xml"/>
   <!--include ref="../CRD_common_v01/Ecal_Crystal_Endcap_v01_01.xml"/-->
-  <!--include ref="../CRD_common_v01/Coil_Simple_v01_01.xml"/>
+  <include ref="../CRD_common_v01/Coil_Simple_v01_01.xml"/>
   <include ref="../CRD_common_v01/Hcal_Rpc_Barrel_v01_01.xml"/>
   <include ref="../CRD_common_v01/Hcal_Rpc_Endcaps_v01_01.xml"/>
   <include ref="../CRD_common_v01/Yoke_Barrel_v01_01.xml"/>
-  <include ref="../CRD_common_v01/Yoke_Endcaps_v01_01.xml"/-->
+  <include ref="../CRD_common_v01/Yoke_Endcaps_v01_01.xml"/>
   <!--include ref="../CRD_common_v01/Lcal_v01_01.xml"/-->
 
   <fields>
diff --git a/Detector/DetCRD/compact/README.md b/Detector/DetCRD/compact/README.md
index 0d1511b8f125931cd869e0c8fcac459504390335..f4a0aefb6796ed3cdeafb1b7aeb84d24cf32ed3a 100644
--- a/Detector/DetCRD/compact/README.md
+++ b/Detector/DetCRD/compact/README.md
@@ -35,9 +35,10 @@ The following CRD detector models are available in CEPCSW
          - with RPC readout
          - creates two sets of hit collections
  - Coil
-         - CEPC_v4 like
+         - Al layers using DD4hep_Solenoid_o1_v01
  - Yoke
-         - CEPC_v4 like
+         - Barrel:  Detector/DetCRD/src/Calorimeter/RotatedPolyhedraBarrelCalorimeter_v01_geo.cpp
+	 - Endcaps: DD4hep_PolyhedraEndcapCalorimeter2
  - compact files:
          - [./CRD_o1_v01/CRD_o1_v01.xml](./CRD_o1_v01/CRD_o1_v01.xml)
 
diff --git a/Detector/DetCRD/src/Calorimeter/RotatedPolyhedraBarrelCalorimeter_v01_geo.cpp b/Detector/DetCRD/src/Calorimeter/RotatedPolyhedraBarrelCalorimeter_v01_geo.cpp
index 723766ef891efba33ddd4bc357a81de5ea73760d..0e4b9a50c6dd9930481b926f029662125059e2d3 100644
--- a/Detector/DetCRD/src/Calorimeter/RotatedPolyhedraBarrelCalorimeter_v01_geo.cpp
+++ b/Detector/DetCRD/src/Calorimeter/RotatedPolyhedraBarrelCalorimeter_v01_geo.cpp
@@ -159,7 +159,7 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s
     PlacedVolume pv = envelope.placeVolume(staveOuterVol, trafo);
     pv.addPhysVolID("stave", istave);
     pv.addPhysVolID("system", cal.id());
-    pv.addPhysVolID("barrel", 0);
+    pv.addPhysVolID("side", 0);
     stave.setPlacement(pv);
   }