diff --git a/Detector/DetCRD/compact/CRD_common_v01/DC_Simple_v01_01.xml b/Detector/DetCRD/compact/CRD_common_v01/DC_Simple_v01_01.xml
index 83186f62672fd45d11ac4b271a9c5800e7f479d3..ead87a0e6d4ab5255e3f9baeb66a28ab7efbefa1 100644
--- a/Detector/DetCRD/compact/CRD_common_v01/DC_Simple_v01_01.xml
+++ b/Detector/DetCRD/compact/CRD_common_v01/DC_Simple_v01_01.xml
@@ -19,18 +19,15 @@
     <constant name="world_z" value="world_size"/>
 
     <!-- SDT -->
-    <constant name="SDT_radius_min" value="799.78*mm"/>
-    <constant name="SDT_radius_max" value="1803*mm"/>
+    <constant name="SDT_radius_min" value="DC_inner_radius"/>
+    <constant name="SDT_radius_max" value="DC_outer_radius"/>
 
     <constant name="SDT_half_length" value="MainTracker_half_length"/>
     <constant name="DC_length" value="DC_half_length*2"/>
     <constant name="SDT_length" value="SDT_half_length*2"/>
 
-    <constant name="SDT_inner_wall_thickness" value="0.2*mm"/>
-    <constant name="SDT_outer_wall_thickness" value="2.8*mm"/>
-
-    <constant name="SDT_chamber_radius_min" value="DC_chamber_radius_min"/>
-    <constant name="SDT_chamber_radius_max" value="DC_chamber_radius_max"/>
+    <constant name="SDT_chamber_radius_min" value="DC_chamber_layer_rbegin-DC_safe_distance"/>
+    <constant name="SDT_chamber_radius_max" value="DC_chamber_layer_rend+DC_safe_distance"/>
     <constant name="SDT_chamber_half_length" value="DC_half_length"/>
 
     <constant name="SDT_chamber_layer_width" value="10*mm"/>
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 2be7bf353591b28e05c1f37c8dde0f8caae25475..9a368f4e34e8669298b25f90bb094515fcd0f8f8 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
@@ -87,6 +87,7 @@
     <constant name="SDT_inner_wall_thickness" value="0.2*mm"/>
     <constant name="SDT_outer_wall_thickness" value="2.8*mm"/>
     <constant name="MainTracker_half_length"  value="DC_half_length+DC_Endcap_dz" />
+
     <constant name="InnerTracker_half_length"  value="DC_half_length" />
     <constant name="InnerTracker_inner_radius" value="234*mm"/>
     <constant name="InnerTracker_outer_radius" value="909*mm"/>
@@ -97,10 +98,9 @@
     <!-- Parameters of single drift chamber  -->
     <constant name="DC_chamber_layer_rbegin" value="800*mm"/>
     <constant name="DC_chamber_layer_rend" value="1800*mm"/>
-    <constant name="DC_chamber_radius_min" value="DC_chamber_layer_rbegin-DC_safe_distance"/>
-    <constant name="DC_chamber_radius_max" value="DC_chamber_layer_rend+DC_safe_distance"/>
-    <constant name="DC_inner_radius" value="799.78*mm"/>
-    <constant name="DC_outer_radius" value="1803*mm"/>
+
+    <constant name="DC_inner_radius" value="DC_chamber_layer_rbegin-SDT_inner_wall_thickness-DC_safe_distance"/>
+    <constant name="DC_outer_radius" value="DC_chamber_layer_rend+SDT_outer_wall_thickness+DC_safe_distance"/>
 
     <constant name="SIT1_inner_radius"   value="152.90*mm"/>
     <constant name="SIT1_half_length"    value="368.00*mm"/>
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 ca49e6ca4666085ae35f13b2c2c3ea5b4166f812..3b8f76a135efcbe73e3491e3bd083d91d2d6f6d8 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
@@ -87,6 +87,7 @@
     <constant name="SDT_inner_wall_thickness" value="0.2*mm"/>
     <constant name="SDT_outer_wall_thickness" value="2.8*mm"/>
     <constant name="MainTracker_half_length"  value="DC_half_length+DC_Endcap_dz" />
+
     <constant name="InnerTracker_half_length"  value="DC_half_length" />
     <constant name="InnerTracker_inner_radius" value="234*mm"/>
     <constant name="InnerTracker_outer_radius" value="909*mm"/>
@@ -97,10 +98,9 @@
     <!-- Parameters of single drift chamber  -->
     <constant name="DC_chamber_layer_rbegin" value="800*mm"/>
     <constant name="DC_chamber_layer_rend" value="1800*mm"/>
-    <constant name="DC_chamber_radius_min" value="DC_chamber_layer_rbegin-DC_safe_distance"/>
-    <constant name="DC_chamber_radius_max" value="DC_chamber_layer_rend+DC_safe_distance"/>
-    <constant name="Tracker_inner_radius" value="799.78*mm"/>
-    <constant name="Tracker_outer_radius" value="1803*mm"/>
+
+    <constant name="DC_inner_radius" value="DC_chamber_layer_rbegin-SDT_inner_wall_thickness-DC_safe_distance"/>
+    <constant name="DC_outer_radius" value="DC_chamber_layer_rend+SDT_outer_wall_thickness+DC_safe_distance"/>
 
 
     <constant name="SIT1_inner_radius"   value="140*mm"/>
diff --git a/Detector/DetDriftChamber/compact/det.xml b/Detector/DetDriftChamber/compact/det.xml
index 3ca47adbcb2cad765d8aff011e9ced7016a1b0fa..4e981b021e24069755937850709a346dbf703a29 100644
--- a/Detector/DetDriftChamber/compact/det.xml
+++ b/Detector/DetDriftChamber/compact/det.xml
@@ -26,15 +26,6 @@
 
     <!-- SDT -->
     <constant name="DetID_DC"  value="7"/>
-    <constant name="SDT_radius_min" value="799.78*mm"/>
-    <constant name="SDT_radius_max" value="1803*mm"/>
-
-    <constant name="DC_Endcap_dz" value="0.1*mm"/>
-
-    <constant name="SDT_half_length" value="2225*mm+DC_Endcap_dz"/>
-    <constant name="DC_half_length" value="2225*mm"/>
-    <constant name="SDT_length" value="SDT_half_length*2"/>
-    <constant name="DC_length" value="SDT_length-DC_Endcap_dz*2"/>
 
     <constant name="DC_safe_distance" value="0.02*mm"/>
 
@@ -44,11 +35,18 @@
     <constant name="DC_chamber_layer_rbegin" value="800*mm"/>
     <constant name="DC_chamber_layer_rend" value="1800*mm"/>
 
-    <constant name="DC_chamber_radius_min" value="DC_chamber_layer_rbegin-DC_safe_distance"/>
-    <constant name="DC_chamber_radius_max" value="DC_chamber_layer_rend+DC_safe_distance"/>
+    <constant name="SDT_radius_min" value="DC_chamber_layer_rbegin-SDT_inner_wall_thickness-DC_safe_distance"/>
+    <constant name="SDT_radius_max" value="DC_chamber_layer_rend+SDT_outer_wall_thickness+DC_safe_distance"/>
+
+    <constant name="DC_Endcap_dz" value="0.1*mm"/>
+
+    <constant name="SDT_half_length" value="2225*mm+DC_Endcap_dz"/>
+    <constant name="DC_half_length" value="2225*mm"/>
+    <constant name="SDT_length" value="SDT_half_length*2"/>
+    <constant name="DC_length" value="SDT_length-DC_Endcap_dz*2"/>
 
-    <constant name="SDT_chamber_radius_min" value="DC_chamber_radius_min"/>
-    <constant name="SDT_chamber_radius_max" value="DC_chamber_radius_max"/>
+    <constant name="SDT_chamber_radius_min" value="DC_chamber_layer_rbegin-DC_safe_distance"/>
+    <constant name="SDT_chamber_radius_max" value="DC_chamber_layer_rend+DC_safe_distance"/>
     <constant name="SDT_chamber_half_length" value="DC_half_length"/>
 
     <constant name="SDT_chamber_layer_width" value="10*mm"/>
@@ -87,6 +85,7 @@
 
   <detectors>
     <detector id="DetID_DC" name="DriftChamber" type="DriftChamber" readout="DriftChamberHitsCollection" vis="VisibleBlue" sensitive="true" region="DriftChamberRegion" limits="DC_limits">
+      <chamber id="0"/>
       <envelope vis="SeeThrough">
         <shape type="BooleanShape" operation="Union" material="Air">
           <shape type="Tube" rmin="SDT_radius_min" rmax="SDT_radius_max" dz="SDT_half_length" />
diff --git a/Detector/DetDriftChamber/src/driftchamber/DriftChamber.cpp b/Detector/DetDriftChamber/src/driftchamber/DriftChamber.cpp
index d62cced2786509b270a0355057dbc18858dcf828..bb02ad39e3d2347af6a5a9ee76ee51593227d3d7 100644
--- a/Detector/DetDriftChamber/src/driftchamber/DriftChamber.cpp
+++ b/Detector/DetDriftChamber/src/driftchamber/DriftChamber.cpp
@@ -35,6 +35,9 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
 
     xml_det_t x_det = e;
 
+    xml_coll_t c(x_det,_U(chamber));
+    xml_comp_t x_chamber = c;
+
     std::string det_name = x_det.nameStr();
     std::string det_type = x_det.typeStr();
 
@@ -47,6 +50,7 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
     double chamber_radius_min = theDetector.constant<double>("SDT_chamber_radius_min");
     double chamber_radius_max = theDetector.constant<double>("SDT_chamber_radius_max");
     double SDT_half_length     = theDetector.constant<double>("SDT_chamber_half_length");
+    int chamberID = x_chamber.id();
 
     // - layer
     double chamber_layer_width  = theDetector.constant<double>("SDT_chamber_layer_width");
@@ -181,7 +185,7 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
         //    |                     |
         //    |   F0    F1   F2   F3|
         //    -----------------------
-//     if(layer_id == 0 || layer_id == 1 || layer_id == 2 || layer_id == 3) {
+//     if(layer_id == 0 || layer_id == 1 || layer_id == 2 || layer_id == 99) {
         for(int icell=0; icell< numWire; icell++) {
             double wire_phi = (icell+0.5)*layer_Phi + offset;
             // - signal wire
@@ -213,7 +217,7 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
     dd4hep::PlacedVolume det_chamber_phy = det_vol.placeVolume(det_chamber_vol,
                  transform_chamber);
 
-    det_chamber_phy.addPhysVolID("chamber", 0);
+    det_chamber_phy.addPhysVolID("chamber", chamberID);
 
     // - place in world
     dd4hep::Transform3D transform(dd4hep::Rotation3D(),