diff --git a/Detector/DetDriftChamber/compact/det.xml b/Detector/DetDriftChamber/compact/det.xml
index 00500afedab3b54f8590a4b8750f33eb962358f6..c5f080cabfaf57df907032b1c04055f84cfef414 100644
--- a/Detector/DetDriftChamber/compact/det.xml
+++ b/Detector/DetDriftChamber/compact/det.xml
@@ -60,7 +60,7 @@
                     grid_size_x="1*cm"
                     grid_size_y="1*cm"
                     grid_size_z="1*cm"/>
-      <id>system:8,x:-16,y:-16,z:-16</id>
+      <id>system:8,chamber:1,x:-16,y:-16,z:-16</id>
     </readout>
   </readouts>
 
diff --git a/Detector/DetDriftChamber/src/driftchamber/DriftChamber.cpp b/Detector/DetDriftChamber/src/driftchamber/DriftChamber.cpp
index 24aa4900124fa09c0530415d0093c68f3325812b..9df294c519aae1ef28ac002acc678f8fd8331d44 100644
--- a/Detector/DetDriftChamber/src/driftchamber/DriftChamber.cpp
+++ b/Detector/DetDriftChamber/src/driftchamber/DriftChamber.cpp
@@ -56,12 +56,6 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
     dd4hep::Tube det_solid(chamber_radius_min, chamber_radius_max, chamber_length*0.5);
     dd4hep::Volume det_vol(det_name+"_vol", det_solid, det_mat);
 
-    if ( x_det.isSensitive() )   {
-        dd4hep::SensitiveDetector sd = sens;
-        det_vol.setSensitiveDetector(sens);
-        sd.setType("tracker");
-    }
-
     // - inner
     dd4hep::Tube det_inner_chamber_solid(inner_chamber_radius_min, inner_chamber_radius_max, inner_chamber_length*0.5);
     dd4hep::Volume det_inner_chamber_vol(det_name+"_inner_chamber_vol", det_inner_chamber_solid, det_mat);
@@ -70,6 +64,14 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
                                                 dd4hep::Position(0,0,0));
     dd4hep::PlacedVolume det_inner_chamber_phy = det_vol.placeVolume(det_inner_chamber_vol,
                                                                      transform_inner_chamber);
+    det_inner_chamber_phy.addPhysVolID("chamber", 0);
+    if ( x_det.isSensitive() )   {
+        dd4hep::SensitiveDetector sd = sens;
+        det_inner_chamber_vol.setSensitiveDetector(sens);
+        sd.setType("tracker");
+    }
+
+
 
     // - outer
     dd4hep::Tube det_outer_chamber_solid(outer_chamber_radius_min, outer_chamber_radius_max, outer_chamber_length*0.5);
@@ -80,6 +82,12 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector,
     dd4hep::PlacedVolume det_outer_chamber_phy = det_vol.placeVolume(det_outer_chamber_vol,
                                                                      transform_outer_chamber);
 
+    det_inner_chamber_phy.addPhysVolID("chamber", 1);
+    if ( x_det.isSensitive() )   {
+        dd4hep::SensitiveDetector sd = sens;
+        det_outer_chamber_vol.setSensitiveDetector(sens);
+        sd.setType("tracker");
+    }
 
 
     // - place in world