diff --git a/compact/definitions.xml b/compact/definitions.xml
index dc7901d34a07c1104d6f9bb313b77c1cbf37c20a..5becd21b28aba574308b05e84fe18f5a53e68eed 100644
--- a/compact/definitions.xml
+++ b/compact/definitions.xml
@@ -369,7 +369,7 @@ Examples:
     <documentation>
       ## Vertex Tracker Parameters
     </documentation>
-    <constant name="VertexTrackerBarrel_rmin"   value="Beampipe_rmax + 5.0*mm"/>
+    <constant name="VertexTrackerBarrel_rmin"   value="Beampipe_rmax + 1.0*mm"/>
     <constant name="VertexTrackerBarrel_rmax"   value="200.0*mm"/>
     <constant name="VertexTrackerBarrel_length" value="300.0*mm"/>
     <constant name="VertexTrackerBarrel_zmax"   value="VertexTrackerBarrel_length/2.0"/>
diff --git a/compact/vertex_tracker.xml b/compact/vertex_tracker.xml
index a1e18d041e4db9380568a57d8a6fcbeb09afe9e1..4308420e5d8bfedf556972671ecdf5f3c73ca077 100644
--- a/compact/vertex_tracker.xml
+++ b/compact/vertex_tracker.xml
@@ -1,27 +1,59 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <lccdd>
   <define>
+    <comment>
+      THis value probably can live in the file that includes this one.
+    </comment>
     <constant name="ITS3Thickness"       value="40*um"/>
 
-    <constant name="VertexBarrelLayer_thickness"     value="ITS3Thickness"/>
-    <constant name="VertexBarrelShell_thickness"     value="300*um"/>
-    <constant name="VertexBarrelLayer_rmin1"         value="3.3*cm"/>
-    <constant name="VertexBarrelLayer_rmin2"         value="5.7*cm"/>
-    <constant name="VertexBarrelLayer_offset"        value="VertexBarrelLayer_rmin2-VertexBarrelLayer_rmin1"/>
-    <constant name="VertexBarrelShell_rmin"          value="VertexBarrelLayer_rmin2+VertexBarrelLayer_offset"/>
-    <constant name="VertexBarrelLayer_rmax1"         value="VertexBarrelLayer_rmin2"/>
-    <constant name="VertexBarrelLayer_rmax2"         value="VertexBarrelShell_rmin"/>
-    <constant name="VertexBarrelShell_rmax"          value="VertexBarrelShell_rmin + VertexBarrelShell_thickness"/>
-    <constant name="VertexBarrel_length"             value="VertexTrackerBarrel_length"/>
-
-    <constant name="VertexTrackerEndcapN_zmin" value="VertexTrackerBarrel_zmax"/>
-    <constant name="VertexTrackerEndcapP_zmin" value="VertexTrackerBarrel_zmax"/>
-
-    <constant name="VertexEndcap_NLayers" value="1"/>
-    <constant name="VertexTrackerEndcap_delta" value="(VertexTrackerEndcapP_zmax - VertexTrackerEndcapP_zmin)/VertexEndcap_NLayers"/>
-    <constant name="VertexEndcapLayer_dz" value="(VertexTrackerEndcapP_zmax - VertexTrackerEndcapP_zmin)/VertexEndcap_NLayers"/>
-
-    <constant name="VertexEndcapModOpeningAngle" value="30.0*degree"/>
+    <documentation>
+      #### Vertex Tracker Barrel Parameters
+
+- The sensor modules are 2 half-cylinders.
+- There are 2 sensitive layers
+- Each sensor has a thickness is 40um
+- There is an outer shell for structural support 300um thick.
+- The ID of this shell is set (arbitrarily) to 10 cm.
+
+      ##### Sensor layers
+
+Currently there are 2 sensor layers. Each is composed of 2 half-cylinders modules with only 40um of silicon thickness.
+
+      ##### Support shell
+
+Simple carbon fiber support shell.
+
+    </documentation>
+
+    <constant name="VertexBarrel_length"            value="VertexTrackerBarrel_length"/>
+    <constant name="VertexBarrelLayer_length"       value="VertexBarrel_length - 1*mm"/>
+    <constant name="VertexBarrelMod_length"         value="VertexBarrel_length - 2*mm"/>
+
+    <constant name="VertexBarrelSensor_thickness"   value="ITS3Thickness"/>
+    <constant name="VertexBarrelLayer_thickness"    value="0.2*cm"/>
+    <constant name="VertexBarrelMod_thickness"      value="0.1*cm"/>
+    <constant name="VertexBarrelMod1_rmin"          value="3.4*cm"/>
+    <constant name="VertexBarrelMod2_rmin"          value="5.7*cm"/>
+    <constant name="VertexBarrelLayer_rmin1"        value="VertexBarrelMod1_rmin - VertexBarrelLayer_thickness/2.0"/>
+    <constant name="VertexBarrelLayer_rmin2"        value="VertexBarrelMod2_rmin - VertexBarrelLayer_thickness/2.0"/>
+
+    <constant name="VertexBarrelLayer_offset"       value="VertexBarrelLayer_rmin2-VertexBarrelLayer_rmin1"/>
+    <constant name="VertexBarrelLayer_rmax1"        value="VertexBarrelLayer_rmin1 + VertexBarrelLayer_thickness"/>
+    <constant name="VertexBarrelLayer_rmax2"        value="VertexBarrelLayer_rmin2 + VertexBarrelLayer_thickness"/>
+
+    <constant name="VertexBarrelShell_rmin"         value="VertexBarrelLayer_rmin2+2*VertexBarrelLayer_offset"/>
+    <constant name="VertexBarrelShell_thickness"    value="300*um"/>
+    <constant name="VertexBarrelShell_rmax"         value="VertexBarrelShell_rmin + VertexBarrelShell_thickness"/>
+    <constant name="VertexBarrelShell_length"       value="VertexBarrel_length"/>
+
+    <constant name="VertexTrackerEndcapN_zmin"      value="VertexTrackerBarrel_zmax"/>
+    <constant name="VertexTrackerEndcapP_zmin"      value="VertexTrackerBarrel_zmax"/>
+
+    <constant name="VertexEndcap_NLayers"           value="1"/>
+    <constant name="VertexTrackerEndcap_delta"      value="(VertexTrackerEndcapP_zmax - VertexTrackerEndcapP_zmin)/VertexEndcap_NLayers"/>
+    <constant name="VertexEndcapLayer_dz"           value="(VertexTrackerEndcapP_zmax - VertexTrackerEndcapP_zmin)/VertexEndcap_NLayers"/>
+
+    <constant name="VertexEndcapModOpeningAngle"    value="30.0*degree"/>
     <constant name="VertexEndcapMod1_x1"            value="2.0*VertexTrackerEndcapP_rmin*sin(VertexEndcapModOpeningAngle/2.0)"/>
     <constant name="VertexEndcapMod1_x2"            value="2.0*VertexTrackerEndcapP_rmax*sin(VertexEndcapModOpeningAngle/2.0)"/>
     <constant name="VertexEndcapMod1_y"             value="VertexTrackerEndcapP_rmax*cos(VertexEndcapModOpeningAngle/2.0) - VertexTrackerEndcapP_rmin"/>
@@ -34,24 +66,24 @@
     <detector
       id="VertexBarrel_ID"
       name="VertexBarrel"
-      type="athena_VertexBarrel"
+      type="athena_CylinderVertexBarrel"
       readout="VertexBarrelHits"
       insideTrackingVolume="true">
       <comment>Vertex Barrel Modules</comment>
       <module name="Module1" vis="VertexLayerVis">
-        <module_envelope rmin="VertexBarrelLayer_rmin1" length="VertexBarrel_length" thickness="VertexBarrelLayer_thickness" phi="180*degree" />
-        <module_component thickness="VertexBarrelLayer_thickness" material="Silicon" sensitive="true">
+        <module_envelope rmin="VertexBarrelMod1_rmin" length="VertexBarrelMod_length" thickness="VertexBarrelMod_thickness" phi="180*degree" />
+        <module_component thickness="VertexBarrelSensor_thickness" material="Silicon" sensitive="true">
           <position x="0" />
         </module_component>
       </module>
       <module name="Module2" vis="VertexLayerVis">
-        <module_envelope rmin="VertexBarrelLayer_rmin2" length="VertexBarrel_length" thickness="VertexBarrelLayer_thickness" phi="180*degree" />
-        <module_component thickness="VertexBarrelLayer_thickness" material="Silicon" sensitive="true">
+        <module_envelope rmin="VertexBarrelMod2_rmin" length="VertexBarrelMod_length" thickness="VertexBarrelMod_thickness" phi="180*degree" />
+        <module_component thickness="VertexBarrelSensor_thickness" material="Silicon" sensitive="true">
           <position x="0" />
         </module_component>
       </module>
-      <module name="Frame" vis="VertexSupportVis">
-        <module_envelope rmin="VertexBarrelShell_rmin" length="VertexBarrel_length" thickness="VertexBarrelShell_thickness" phi="180*degree" />
+      <module name="SupportShell" vis="VertexSupportVis">
+        <module_envelope rmin="VertexBarrelShell_rmin" length="VertexBarrelShell_length" thickness="VertexBarrelShell_thickness" phi="180*degree" />
         <module_component thickness="VertexBarrelShell_thickness" material="CarbonFiber">
           <position x="0" />
         </module_component>
@@ -61,7 +93,7 @@
         <barrel_envelope
           inner_r="VertexBarrelLayer_rmin1"
           outer_r="VertexBarrelLayer_rmax1"
-          z_length="VertexBarrel_length" />
+          z_length="VertexBarrelLayer_length" />
         <comment>
           phi0     : Starting phi of first module.
           phi_tilt : Phi tilt of a module.
@@ -72,22 +104,22 @@
           nz       : Number of modules to place in z.
           dr       : Radial displacement parameter, of every other module.
         </comment>
-        <rphi_layout phi_tilt="0.0*degree" nphi="2" phi0="0.0" rc="VertexBarrelLayer_rmin1" dr="0.0 * mm"/>
+        <rphi_layout phi_tilt="0.0*degree" nphi="2" phi0="0.0" rc="VertexBarrelMod1_rmin" dr="0.0 * mm"/>
         <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
       </layer>
       <layer module="Module2" id="2" vis="VertexLayerVis">
         <barrel_envelope
           inner_r="VertexBarrelLayer_rmin2"
           outer_r="VertexBarrelLayer_rmax2"
-          z_length="VertexBarrel_length" />
-        <rphi_layout phi_tilt="0.0*degree" nphi="2" phi0="0.0" rc="VertexBarrelLayer_rmin2" dr="0.0 * mm"/>
+          z_length="VertexBarrelLayer_length" />
+        <rphi_layout phi_tilt="0.0*degree" nphi="2" phi0="0.0" rc="VertexBarrelMod2_rmin" dr="0.0 * mm"/>
         <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
       </layer>
-      <layer module="Frame" id="3" vis="VertexSupportVis">
+      <layer module="SupportShell" id="3" vis="VertexSupportVis">
         <barrel_envelope
           inner_r="VertexBarrelShell_rmin"
           outer_r="VertexBarrelShell_rmax"
-          z_length="VertexBarrel_length" />
+          z_length="VertexBarrelShell_length" />
         <rphi_layout phi_tilt="0.0*degree" nphi="2" phi0="0.0" rc="VertexBarrelShell_rmin" dr="0.0 * mm"/>
         <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
       </layer>
diff --git a/src/BarrelTrackerWithFrame_geo.cpp b/src/BarrelTrackerWithFrame_geo.cpp
index 03075e959546c5a393ea829e878dd47c89125338..3109cc6fffcd19a05e3529ae6b4464af7d5763ad 100644
--- a/src/BarrelTrackerWithFrame_geo.cpp
+++ b/src/BarrelTrackerWithFrame_geo.cpp
@@ -300,3 +300,4 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s
 // clang-format off
 DECLARE_DETELEMENT(BarrelTrackerWithFrame, create_detector)
 DECLARE_DETELEMENT(athena_TrackerBarrel, create_detector)
+DECLARE_DETELEMENT(athena_VertexBarrel,  create_detector)
diff --git a/src/CylinderTrackerBarrel_geo.cpp b/src/CylinderTrackerBarrel_geo.cpp
index 14a2317c11878e935c514710e89f6f8f2d4ccb42..6cada05cf45eb11c3b2029d5a381c693d4f2c305 100644
--- a/src/CylinderTrackerBarrel_geo.cpp
+++ b/src/CylinderTrackerBarrel_geo.cpp
@@ -25,9 +25,9 @@ static Ref_t CylinderTrackerBarrel_create_detector(Detector& description, xml_h
   string     det_name = x_det.nameStr();
   DetElement sdet(det_name, det_id);
 
-  //Acts::ActsExtension* barrelExtension = new Acts::ActsExtension();
-  //barrelExtension->addType("barrel", "detector");
-  //sdet.addExtension<Acts::ActsExtension>(barrelExtension);
+  Acts::ActsExtension* barrelExtension = new Acts::ActsExtension();
+  barrelExtension->addType("barrel", "detector");
+  sdet.addExtension<Acts::ActsExtension>(barrelExtension);
 
   Assembly                assembly(det_name);
   map<string, Volume>     mod_volumes;
@@ -48,7 +48,9 @@ static Ref_t CylinderTrackerBarrel_create_detector(Detector& description, xml_h
     auto     module_length    = m_env.length();
     auto     module_phi       = getAttrOrDefault(m_env, _Unicode(phi), 90.0);
 
-    Volume m_vol(m_nam, Tube(module_rmin, module_rmin + module_thickness, module_length / 2), air);
+    Volume m_vol(
+        m_nam,
+        Tube(module_rmin, module_rmin + module_thickness, module_length / 2, -module_phi / 2.0, module_phi / 2.0), air);
     int    ncomponents = 0, sensor_number = 1;
     module_assembly.placeVolume(m_vol, Position(-module_rmin, 0, 0));
     mod_volumes[m_nam] = module_assembly;
@@ -118,10 +120,10 @@ static Ref_t CylinderTrackerBarrel_create_detector(Detector& description, xml_h
     Volume     m_env    = mod_volumes[m_nam];
     DetElement lay_elt(sdet, _toString(x_layer.id(), "layer%d"), lay_id);
 
-    //Acts::ActsExtension* layerExtension = new Acts::ActsExtension();
-    //layerExtension->addType("sensitive cylinder", "layer");
+    Acts::ActsExtension* layerExtension = new Acts::ActsExtension();
+    layerExtension->addType("sensitive cylinder", "layer");
     //// layerExtension->addValue(10. * Acts::UnitConstants::mm, "r", "envelope");
-    //lay_elt.addExtension<Acts::ActsExtension>(layerExtension);
+    lay_elt.addExtension<Acts::ActsExtension>(layerExtension);
 
     Placements& sensVols = sensitives[m_nam];
 
@@ -158,8 +160,8 @@ static Ref_t CylinderTrackerBarrel_create_detector(Detector& description, xml_h
           PlacedVolume sens_pv = sensVols[ic];
           DetElement   comp_elt(mod_elt, sens_pv.volume().name(), module);
           comp_elt.setPlacement(sens_pv);
-          //Acts::ActsExtension* moduleExtension = new Acts::ActsExtension("YZX");
-          //comp_elt.addExtension<Acts::ActsExtension>(moduleExtension);
+          Acts::ActsExtension* moduleExtension = new Acts::ActsExtension();
+          comp_elt.addExtension<Acts::ActsExtension>(moduleExtension);
         }
 
         /// Increase counters etc.
@@ -197,4 +199,5 @@ static Ref_t CylinderTrackerBarrel_create_detector(Detector& description, xml_h
 DECLARE_DETELEMENT(athena_CylinderTrackerBarrel, CylinderTrackerBarrel_create_detector)
 DECLARE_DETELEMENT(athena_MMTrackerBarrel,       CylinderTrackerBarrel_create_detector)
 DECLARE_DETELEMENT(athena_RWellTrackerBarrel,    CylinderTrackerBarrel_create_detector)
-DECLARE_DETELEMENT(athena_VertexBarrel,          CylinderTrackerBarrel_create_detector)
+DECLARE_DETELEMENT(athena_CylinderVertexBarrel,  CylinderTrackerBarrel_create_detector)
+