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 b80a2fc115f857e8c6bab49750f1f03f1f724212..2a87098f1fa18c60aee0b0b58d9662ba916cb143 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
@@ -13,8 +13,12 @@
   <define>
     <constant name="SDT_radius_min" value="InnerTracker_inner_radius"/>
     <constant name="SDT_radius_max" value="OuterTracker_outer_radius"/>
-    <constant name="SDT_half_length" value="MainTracker_half_length"/>
+
+    <constant name="DC_Endcap_dz" value="0.1*mm"/>
+
+    <constant name="SDT_half_length" value="MainTracker_half_length+DC_Endcap_dz"/>
     <constant name="SDT_length" value="SDT_half_length*2"/>
+    <constant name="DC_length" value="SDT_length-DC_Endcap_dz*2"/>
 
     <constant name="SDT_inner_chamber_radius_min" value="235*mm"/>
     <constant name="SDT_inner_chamber_radius_max" value="InnerTracker_outer_radius"/>
@@ -38,9 +42,8 @@
     <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"/>
 
-    <constant name="SDT_Endcap_rmin" value="SDT_radius_min"/>
-    <constant name="SDT_Endcap_rmax" value="SDT_radius_max"/>
-    <constant name="SDT_Endcap_dz" value="0.1*mm"/>
+    <constant name="DC_Endcap_rmin" value="SDT_radius_min"/>
+    <constant name="DC_Endcap_rmax" value="SDT_radius_max"/>
 
   </define>
 
@@ -48,8 +51,8 @@
     <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_radius_min" rmax="909*mm" dz="SDT_half_length++SDT_Endcap_dz" />
-          <shape type="Tube" rmin="1084.8*mm" rmax="SDT_radius_max" dz="SDT_half_length++SDT_Endcap_dz" />
+          <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/DetDriftChamber/compact/det.xml b/Detector/DetDriftChamber/compact/det.xml
index b9997bbeb6853ee404e61426c9a8e52595021800..ab79de27f54db6c2b50195040c273fd9d7209492 100644
--- a/Detector/DetDriftChamber/compact/det.xml
+++ b/Detector/DetDriftChamber/compact/det.xml
@@ -28,16 +28,20 @@
     <constant name="DetID_DC"  value="7"/>
     <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="DC_Endcap_dz" value="0.1*mm"/>
+
+    <constant name="SDT_half_length" value="2225*mm+DC_Endcap_dz"/>
     <constant name="SDT_length" value="SDT_half_length*2"/>
+    <constant name="DC_length" value="SDT_length-DC_Endcap_dz*2"/>
 
     <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_inner_chamber_length" value="DC_length"/>
 
     <constant name="SDT_outer_chamber_radius_min" value="1085*mm"/>
     <constant name="SDT_outer_chamber_radius_max" value="1715*mm"/>
-    <constant name="SDT_outer_chamber_length" value="SDT_length"/>
+    <constant name="SDT_outer_chamber_length" value="DC_length"/>
 
     <constant name="SDT_inner_chamber_layer_number" value="67"/>
     <constant name="SDT_outer_chamber_layer_number" value="63"/>
@@ -53,9 +57,8 @@
     <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"/>
 
-    <constant name="SDT_Endcap_rmin" value="SDT_radius_min"/>
-    <constant name="SDT_Endcap_rmax" value="SDT_radius_max"/>
-    <constant name="SDT_Endcap_dz" value="0.1*mm"/>
+    <constant name="DC_Endcap_rmin" value="SDT_radius_min"/>
+    <constant name="DC_Endcap_rmax" value="SDT_radius_max"/>
 
   </define>
 
@@ -65,6 +68,7 @@
     <vis name="VisibleRed"  r="1.0" g="0.0" b="0.0" showDaughters="true" visible="true"/>
     <vis name="VisibleBlue" r="0.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
     <vis name="VisibleGreen" alpha="1.0" r="0.0" g="1.0" b="0.0" drawingStyle="solid" lineStyle="solid" showDaughters="true" visible="true"/>
+    <vis name="YellowVis" alpha="1.0" r="1.0" g="1.0"  b="0.0"   showDaughters="true"  visible="true"/>
   </display>
 
   <regions>
@@ -76,8 +80,8 @@
     <detector id="7" 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_radius_min" rmax="909*mm" dz="SDT_half_length+SDT_Endcap_dz" />
-          <shape type="Tube" rmin="1084.8*mm" rmax="SDT_radius_max" dz="SDT_half_length+SDT_Endcap_dz" />
+          <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/DetDriftChamber/src/driftchamber/DriftChamber.cpp b/Detector/DetDriftChamber/src/driftchamber/DriftChamber.cpp
index 61c48f89fa91bccda4172d2caa1cf76f1387fd6f..8929e1ed67c819727d226af6156b9cd0da472c5d 100644
--- a/Detector/DetDriftChamber/src/driftchamber/DriftChamber.cpp
+++ b/Detector/DetDriftChamber/src/driftchamber/DriftChamber.cpp
@@ -144,12 +144,12 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
   }
 
     // End cap
-    double Endcap_rmin = theDetector.constant<double>("SDT_Endcap_rmin");
-    double Endcap_rmax = theDetector.constant<double>("SDT_Endcap_rmax");
-    double Endcap_z = theDetector.constant<double>("SDT_Endcap_dz");
+    double Endcap_rmin = theDetector.constant<double>("DC_Endcap_rmin");
+    double Endcap_rmax = theDetector.constant<double>("DC_Endcap_rmax");
+    double Endcap_z = theDetector.constant<double>("DC_Endcap_dz");
     dd4hep::Tube det_Endcap_solid(Endcap_rmin,Endcap_rmax,Endcap_z);
     dd4hep::Volume det_Endcap_vol(det_name+"Endcap",det_Endcap_solid,det_mat);
-    det_Endcap_vol.setVisAttributes(theDetector,"VisibleRed");
+    det_Endcap_vol.setVisAttributes(theDetector,"YellowVis");
 
     //Initialize the segmentation
     dd4hep::Readout readout = sd.readout();
@@ -203,7 +203,7 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
         //    |                     |
         //    |   F0    F1   F2   F3|
         //    -----------------------
-//     if(layer_id == 1|| layer_id == 2 || layer_id ==3) {
+     if(layer_id == -1) {
         for(int icell=0; icell< numWire; icell++) {
             double wire_phi = (icell+0.5)*layer_Phi + offset;
             // - signal wire
@@ -221,7 +221,7 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
                 Module_phy = layer_vol.placeVolume(Module_vol,transform_Module);
             }
         }
-//  }
+  }
 
         dd4hep::Transform3D transform_layer(dd4hep::Rotation3D(),dd4hep::Position(0.,0.,0.));
         dd4hep::PlacedVolume layer_phy = (*current_vol_ptr).placeVolume(layer_vol, transform_layer);