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 2ad73a4026ac7491985e2e8970b0156e1fe5e5fc..cb346b082a29872267f46861cc7aeb3073ad6ca3 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
@@ -16,26 +16,36 @@
     <constant name="SDT_half_length" value="MainTracker_half_length"/>
     <constant name="SDT_length" value="SDT_half_length*2"/>
 
-    <constant name="SDT_inner_chamber_radius_min" value="SDT_radius_min"/>
+    <constant name="SDT_inner_chamber_radius_min" value="235*mm"/>
     <constant name="SDT_inner_chamber_radius_max" value="InnerTracker_outer_radius"/>
     <constant name="SDT_inner_chamber_length" value="SDT_length"/>
 
     <constant name="SDT_outer_chamber_radius_min" value="OuterTracker_inner_radius"/>
-    <constant name="SDT_outer_chamber_radius_max" value="SDT_radius_max"/>
+    <constant name="SDT_outer_chamber_radius_max" value="1715*mm"/>
     <constant name="SDT_outer_chamber_length" value="SDT_length"/>
 
     <constant name="SDT_inner_chamber_layer_number" value="67"/>
     <constant name="SDT_outer_chamber_layer_number" value="63"/>
     <constant name="SDT_chamber_layer_width" value="10*mm"/>
     <constant name="Epsilon" value="0*deg"/>
+
+    <constant name="SDT_inner_chamber_inner_wall_radius_min" value="234.8*mm"/>
+    <constant name="SDT_inner_chamber_inner_wall_radius_max" value="235*mm"/>
+    <constant name="SDT_inner_chamber_outer_wall_radius_min" value="906*mm"/>
+    <constant name="SDT_inner_chamber_outer_wall_radius_max" value="908.8*mm"/>
+    <constant name="SDT_outer_chamber_inner_wall_radius_min" value="1084.8*mm"/>
+    <constant name="SDT_outer_chamber_inner_wall_radius_max" value="1085*mm"/>
+    <constant name="SDT_outer_chamber_outer_wall_radius_min" value="1715*mm"/>
+    <constant name="SDT_outer_chamber_outer_wall_radius_max" value="1717.8*mm"/>
+
   </define>
 
   <detectors>
     <detector id="DetID_DC" name="DriftChamber" type="DriftChamber" readout="DriftChamberHitsCollection" vis="BlueVis" sensitive="true" insideTrackingVolume="true">
       <envelope vis="SeeThrough">
         <shape type="BooleanShape" operation="Union" material="Air">
-	  <shape type="Tube" rmin="SDT_inner_chamber_radius_min" rmax="SDT_inner_chamber_radius_max" dz="SDT_half_length" />
-          <shape type="Tube" rmin="SDT_outer_chamber_radius_min" rmax="SDT_outer_chamber_radius_max" dz="SDT_half_length" />
+	  <shape type="Tube" rmin="SDT_radius_min" rmax="909*mm" dz="SDT_half_length" />
+          <shape type="Tube" rmin="1084.8*mm" rmax="SDT_radius_max" dz="SDT_half_length" />
         </shape>
       </envelope>
 
diff --git a/Detector/DetCRD/compact/CRD_common_v01/materials.xml b/Detector/DetCRD/compact/CRD_common_v01/materials.xml
index 74b3f3fa8dca29cc34b251fc38fc82d09884af1c..c9f7edf444b55e0cc7e766b4c87892bb081b5d28 100644
--- a/Detector/DetCRD/compact/CRD_common_v01/materials.xml
+++ b/Detector/DetCRD/compact/CRD_common_v01/materials.xml
@@ -562,4 +562,12 @@
       <fraction n="0.671054" ref="Bi" />
     </material>
 
+    <!-- Driftchamber: material for the drift chamber -->
+   <material name="GasHe_90Isob_10">
+     <D value="0.0003983999999999999" unit="g/cm3" />
+     <fraction n="0.3826351004462046" ref="He"/>
+     <fraction n="0.011371937371285891"   ref="H" />
+     <fraction n="0.6059929621825095" ref="C" />
+   </material>
+
   </materials>
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 0c1d96af5a4b36b0ed192ffa84bda86e09fe830c..d7c15e97cfa2c49240cebbe6a1fa0196ae0ff2b3 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
@@ -83,11 +83,11 @@
     
     <constant name="MainTracker_half_length"  value="2225*mm" />
     <constant name="InnerTracker_half_length"  value="MainTracker_half_length" />
-    <constant name="InnerTracker_inner_radius" value="235*mm"/>
-    <constant name="InnerTracker_outer_radius" value="909*mm"/>
+    <constant name="InnerTracker_inner_radius" value="234*mm"/>
+    <constant name="InnerTracker_outer_radius" value="906*mm"/>
     <constant name="OuterTracker_half_length"  value="MainTracker_half_length"/>
     <constant name="OuterTracker_inner_radius" value="1085*mm"/>
-    <constant name="OuterTracker_outer_radius" value="1716*mm"/>
+    <constant name="OuterTracker_outer_radius" value="1720*mm"/>
     
     <constant name="SIT1_inner_radius"   value="152.90*mm"/>
     <constant name="SIT1_half_length"    value="368.00*mm"/>
diff --git a/Detector/DetDriftChamber/compact/det.xml b/Detector/DetDriftChamber/compact/det.xml
index 71e47716ae126dc8bb2db529abc6d8fc252b8bd0..7ee0d9ae62e7700f6cffcb4770329e0383344907 100644
--- a/Detector/DetDriftChamber/compact/det.xml
+++ b/Detector/DetDriftChamber/compact/det.xml
@@ -22,17 +22,17 @@
     <constant name="world_z" value="world_size"/>
 
     <!-- SDT -->
-    <constant name="SDT_radius_min" value="235*mm"/>
-    <constant name="SDT_radius_max" value="1716*mm"/>
+    <constant name="SDT_radius_min" value="234*mm"/>
+    <constant name="SDT_radius_max" value="1720*mm"/>
     <constant name="SDT_half_length" value="2225*mm"/>
     <constant name="SDT_length" value="SDT_half_length*2"/>
 
-    <constant name="SDT_inner_chamber_radius_min" value="SDT_radius_min"/>
-    <constant name="SDT_inner_chamber_radius_max" value="909*mm"/>
+    <constant name="SDT_inner_chamber_radius_min" value="235*mm"/>
+    <constant name="SDT_inner_chamber_radius_max" value="906*mm"/>
     <constant name="SDT_inner_chamber_length" value="SDT_length"/>
 
     <constant name="SDT_outer_chamber_radius_min" value="1085*mm"/>
-    <constant name="SDT_outer_chamber_radius_max" value="SDT_radius_max"/>
+    <constant name="SDT_outer_chamber_radius_max" value="1715*mm"/>
     <constant name="SDT_outer_chamber_length" value="SDT_length"/>
 
     <constant name="SDT_inner_chamber_layer_number" value="67"/>
@@ -40,6 +40,15 @@
     <constant name="SDT_chamber_layer_width" value="10*mm"/>
     <constant name="Epsilon" value="0*deg"/>
 
+    <constant name="SDT_inner_chamber_inner_wall_radius_min" value="234.8*mm"/>
+    <constant name="SDT_inner_chamber_inner_wall_radius_max" value="235*mm"/>
+    <constant name="SDT_inner_chamber_outer_wall_radius_min" value="906*mm"/>
+    <constant name="SDT_inner_chamber_outer_wall_radius_max" value="908.8*mm"/>
+    <constant name="SDT_outer_chamber_inner_wall_radius_min" value="1084.8*mm"/>
+    <constant name="SDT_outer_chamber_inner_wall_radius_max" value="1085*mm"/>
+    <constant name="SDT_outer_chamber_outer_wall_radius_min" value="1715*mm"/>
+    <constant name="SDT_outer_chamber_outer_wall_radius_max" value="1717.8*mm"/>
+
   </define>
 
   <display>
@@ -59,23 +68,21 @@
     <detector id="1" name="DriftChamber" type="DriftChamber" readout="DriftChamberHitsCollection" vis="VisibleBlue" sensitive="true" region="DriftChamberRegion">
       <envelope vis="SeeThrough">
         <shape type="BooleanShape" operation="Union" material="Air">
-          <shape type="Tube" rmin="SDT_inner_chamber_radius_min" rmax="SDT_inner_chamber_radius_max" dz="SDT_half_length" />
-          <shape type="Tube" rmin="SDT_outer_chamber_radius_min" rmax="SDT_outer_chamber_radius_max" dz="SDT_half_length" />
+          <shape type="Tube" rmin="SDT_radius_min" rmax="909*mm" dz="SDT_half_length" />
+          <shape type="Tube" rmin="1084.8*mm" rmax="SDT_radius_max" dz="SDT_half_length" />
         </shape>
       </envelope>
 
-      <module id="0" repeat="1" name="SignalWire" type="Tube" rmin="0*mm" rmax="0.01*mm">
+      <module id="0" name="SignalWire" type="Tube" rmin="0*mm" rmax="0.01*mm" vis="VisibleRed">
           <tubs name="W" type="Tube" rmin="0*mm" rmax="0.007*mm" material="Tungsten"/>
           <tubs name="Au" type="Tube" rmin="0.007*mm" rmax="0.01*mm" material="Gold"/>
       </module>
 
-      <module id="1" repeat="3" name="FieldWire" type="Tube" rmin="0*mm" rmax="0.02*mm">
+      <module id="1" name="FieldWire" type="Tube" rmin="0*mm" rmax="0.02*mm" vis="VisibleGreen">
           <tubs name="Al" type="Tube" rmin="0*mm" rmax="0.017*mm" material="Aluminum"/>
           <tubs name="Ag" type="Tube" rmin="0.017*mm" rmax="0.02*mm" material="Silver"/>
       </module>
 
-<!--      <tubs name="SignalWire" rmin="0*mm" rmax="0.01*mm" material="Tungsten"/>-->
-
       <type_flags type="DetType_TRACKER + DetType_BARREL + DetType_GASEOUS + DetType_WIRE"/>
       <!-- Use cm as unit if you want to use Pandora for reconstruction -->
      <sensitive type="SimpleDriftChamber"/>
diff --git a/Detector/DetDriftChamber/compact/materials.xml b/Detector/DetDriftChamber/compact/materials.xml
index a86e3c48cccd159c8fa873bf65f60c66bc6378de..44ee58bf7f60632ec8addf1cee047ed2f259cb5b 100644
--- a/Detector/DetDriftChamber/compact/materials.xml
+++ b/Detector/DetDriftChamber/compact/materials.xml
@@ -148,5 +148,12 @@
     <fraction n="0.671054" ref="Bi" />
   </material>
 
+  <!-- Driftchamber: material for the drift chamber -->
+  <material name="GasHe_90Isob_10">
+    <D value="0.0003983999999999999" unit="g/cm3" />
+    <fraction n="0.3826351004462046" ref="He"/>
+    <fraction n="0.011371937371285891"   ref="H" />
+    <fraction n="0.6059929621825095" ref="C" />
+  </material>
 
 </materials>
diff --git a/Detector/DetDriftChamber/src/driftchamber/DriftChamber.cpp b/Detector/DetDriftChamber/src/driftchamber/DriftChamber.cpp
index 2575d6791ed9cbaffcee9da0122efd94d54ce8e7..8a978ef41b86175dc1d95f4097e258be5f3bf9c5 100644
--- a/Detector/DetDriftChamber/src/driftchamber/DriftChamber.cpp
+++ b/Detector/DetDriftChamber/src/driftchamber/DriftChamber.cpp
@@ -92,9 +92,24 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
     dd4hep::Tube det_outer_chamber_solid(outer_chamber_radius_min, outer_chamber_radius_max, outer_chamber_length*0.5);
     dd4hep::Volume det_outer_chamber_vol(det_name+"_outer_chamber_vol", det_outer_chamber_solid, det_mat);
 
+    // - wall
+    double inner_chamber_inner_wall_rmin = theDetector.constant<double>("SDT_inner_chamber_inner_wall_radius_min");
+    double inner_chamber_inner_wall_rmax = theDetector.constant<double>("SDT_inner_chamber_inner_wall_radius_max");
+    double inner_chamber_outer_wall_rmin = theDetector.constant<double>("SDT_inner_chamber_outer_wall_radius_min");
+    double inner_chamber_outer_wall_rmax = theDetector.constant<double>("SDT_inner_chamber_outer_wall_radius_max");
+    double outer_chamber_outer_wall_rmin = theDetector.constant<double>("SDT_outer_chamber_outer_wall_radius_min");
+    double outer_chamber_outer_wall_rmax = theDetector.constant<double>("SDT_outer_chamber_outer_wall_radius_max");
+    double outer_chamber_inner_wall_rmin = theDetector.constant<double>("SDT_outer_chamber_inner_wall_radius_min");
+    double outer_chamber_inner_wall_rmax = theDetector.constant<double>("SDT_outer_chamber_inner_wall_radius_max");
+
+    dd4hep::Material wall_mat(theDetector.material("CarbonFiber"));
+
+    double wall_rmin[4] = {inner_chamber_inner_wall_rmin,inner_chamber_outer_wall_rmin,outer_chamber_inner_wall_rmin,outer_chamber_outer_wall_rmin};
+    double wall_rmax[4] = {inner_chamber_inner_wall_rmax,inner_chamber_outer_wall_rmax,outer_chamber_inner_wall_rmax,outer_chamber_outer_wall_rmax};
+
    // - wire
     dd4hep::Volume module_vol;
-//    dd4hep::Volume Module_vol;
+    dd4hep::Volume Module_vol;
     for(xml_coll_t c(x_det,_U(module)); c; ++c) {
       xml_comp_t x_module = c;
       double  module_rmin = x_module.rmin();
@@ -103,30 +118,31 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
       dd4hep::Tube module_solid(module_rmin,module_rmax,chamber_length*0.5);
       if(x_module.id()==0) {
          module_vol = dd4hep::Volume(module_name,module_solid,det_mat);
-      }// else {
-//         Module_vol = dd4hep::Volume(module_name,module_solid,det_mat);
-//      }
-
-         for(xml_coll_t l(x_module,_U(tubs)); l; ++l) {
-            xml_comp_t x_tube =l;
-            double tube_rmin = x_tube.rmin();
-            double tube_rmax = x_tube.rmax();
-            std::string tube_name = x_tube.nameStr();
-            std::string wire_name= module_name + tube_name;
-            dd4hep::Material tube_mat = theDetector.material(x_tube.materialStr());
-            dd4hep::Tube wire_solid(tube_rmin,tube_rmax,chamber_length*0.5);
-            dd4hep::Volume wire_vol(wire_name,wire_solid,tube_mat);
-            dd4hep::Transform3D transform_wire(dd4hep::Rotation3D(),dd4hep::Position(0.,0.,0.));
-            dd4hep::PlacedVolume wire_phy;
-            if(x_module.id()==0) {
-               wire_phy = module_vol.placeVolume(wire_vol,transform_wire);
-            }// else {
-//               wire_phy = Module_vol.placeVolume(wire_vol,transform_wire);
-//            }
+         module_vol.setVisAttributes(theDetector.visAttributes(x_module.visStr()));
+      } else {
+         Module_vol = dd4hep::Volume(module_name,module_solid,det_mat);
+         Module_vol.setVisAttributes(theDetector.visAttributes(x_module.visStr()));
+      }
+
+      for(xml_coll_t l(x_module,_U(tubs)); l; ++l) {
+         xml_comp_t x_tube =l;
+         double tube_rmin = x_tube.rmin();
+         double tube_rmax = x_tube.rmax();
+         std::string tube_name = x_tube.nameStr();
+         std::string wire_name= module_name + tube_name;
+         dd4hep::Material tube_mat = theDetector.material(x_tube.materialStr());
+         dd4hep::Tube wire_solid(tube_rmin,tube_rmax,chamber_length*0.5);
+         dd4hep::Volume wire_vol(wire_name,wire_solid,tube_mat);
+         dd4hep::Transform3D transform_wire(dd4hep::Rotation3D(),dd4hep::Position(0.,0.,0.));
+         dd4hep::PlacedVolume wire_phy;
+         if(x_module.id()==0) {
+            wire_phy = module_vol.placeVolume(wire_vol,transform_wire);
+         } else {
+            wire_phy = Module_vol.placeVolume(wire_vol,transform_wire);
          }
+      }
   }
 
-
     //Initialize the segmentation
     dd4hep::Readout readout = sd.readout();
     dd4hep::Segmentation geomseg = readout.segmentation();
@@ -139,6 +155,7 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
         double rmin,rmax,offset;
         std::string layer_name;
         dd4hep::Volume* current_vol_ptr = nullptr;
+        dd4hep::Material layer_mat(theDetector.material("GasHe_90Isob_10"));
         if( layer_id < inner_chamber_layer_number ) {
            current_vol_ptr = &det_inner_chamber_vol;
            rmin = inner_chamber_radius_min+(layer_id*chamber_layer_width);
@@ -167,17 +184,34 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
         DCHseg->setWiresInLayer(layer_id, numWire);
 
         dd4hep::Tube layer_solid(rmin,rmax,chamber_length*0.5);
-        dd4hep::Volume layer_vol(layer_name,layer_solid,det_mat);
+        dd4hep::Volume layer_vol(layer_name,layer_solid,layer_mat);
         layer_vol.setAttributes(theDetector,x_det.regionStr(),x_det.limitsStr(),x_det.visStr());
 
         // - wire vol
-//     if(layer_id == 1) {
+        //phi <-------------------> -phi
+        //    |   F8    F7   F6   F5|  Only on the outermost layer.
+        //    |                     |
+        //    |         S         F4|
+        //    |                     |
+        //    |   F0    F1   F2   F3|
+        //    -----------------------
+//     if(layer_id == 1|| layer_id == 2 || layer_id ==3) {
         for(int icell=0; icell< numWire; icell++) {
             double wire_phi = (icell+0.5)*layer_Phi + offset;
+            // - signal wire
             dd4hep::Transform3D transform_module(dd4hep::Rotation3D(),dd4hep::Position(rmid*std::cos(wire_phi),rmid*std::sin(wire_phi),0.));
-//            dd4hep::Transform3D transform_Module(dd4hep::Rotation3D(),dd4hep::Position((rmid+chamber_layer_width*0.5)*std::cos(wire_phi),(rmid+chamber_layer_width*0.5)*std::sin(wire_phi),0.));
             dd4hep::PlacedVolume module_phy = layer_vol.placeVolume(module_vol,transform_module);
-//            dd4hep::PlacedVolume Module_phy = layer_vol.placeVolume(Module_vol,transform_Module);
+           // - Field wire
+            dd4hep::PlacedVolume Module_phy;
+            double radius[9] = {rmid-chamber_layer_width*0.5,rmid-chamber_layer_width*0.5,rmid-chamber_layer_width*0.5,rmid-chamber_layer_width*0.5,rmid,rmid+chamber_layer_width*0.5,rmid+chamber_layer_width*0.5,rmid+chamber_layer_width*0.5,rmid+chamber_layer_width*0.5};
+            double phi[9] = {wire_phi+layer_Phi*0.25,wire_phi,wire_phi-layer_Phi*0.25,wire_phi-layer_Phi*0.5,wire_phi-layer_Phi*0.5,wire_phi-layer_Phi*0.5,wire_phi-layer_Phi*0.25,wire_phi,wire_phi+layer_Phi*0.25};
+            int num = 5;
+            if(layer_id==66||layer_id==129) { num = 9; }
+            for(int i=0; i<num ; i++) {
+                dd4hep::Position tr3D = Position(radius[i]*std::cos(phi[i]),radius[i]*std::sin(phi[i]),0.);
+                dd4hep::Transform3D transform_Module(dd4hep::Rotation3D(),tr3D);
+                Module_phy = layer_vol.placeVolume(Module_vol,transform_Module);
+            }
         }
 //  }
 
@@ -212,7 +246,15 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
     // - place in world
     dd4hep::Transform3D transform(dd4hep::Rotation3D(),
             dd4hep::Position(0,0,0));
-    dd4hep::PlacedVolume phv = envelope.placeVolume(det_vol,transform); 
+    dd4hep::PlacedVolume phv = envelope.placeVolume(det_vol,transform);
+    // - place wall
+//    dd4hep::PlacedVolume wall_phy;
+    for(int i=0; i<4; i++) {
+       dd4hep::Tube wall_solid(wall_rmin[i],wall_rmax[i],chamber_length*0.5);
+       dd4hep::Volume wall_vol(det_name+"_wall_vol",wall_solid,wall_mat);
+       wall_vol.setVisAttributes(theDetector,"VisibleGreen");
+       dd4hep::PlacedVolume wall_phy = envelope.placeVolume(wall_vol,transform);
+    }
 
     if ( x_det.hasAttr(_U(id)) )  {
         phv.addPhysVolID("system",x_det.id());