From 1e462715a63a23281200445a8304004273e4e89b Mon Sep 17 00:00:00 2001
From: Whitney Armstrong <warmstrong@anl.gov>
Date: Thu, 22 Apr 2021 15:44:59 +0000
Subject: [PATCH] 	modified:   compact/definitions.xml 	modified:  
 compact/vertex_tracker.xml

---
 ci_GEM.xml                     |  70 ---------------
 compact/definitions.xml        |  59 +++++++++----
 compact/gem_tracker_endcap.xml |  90 ++++++++++++++++++++
 compact/mm_tracker_barrel.xml  |  10 ++-
 compact/vertex_tracker.xml     | 150 +++++++++++++++++----------------
 reference_detector.xml         |   4 +-
 6 files changed, 219 insertions(+), 164 deletions(-)
 delete mode 100644 ci_GEM.xml

diff --git a/ci_GEM.xml b/ci_GEM.xml
deleted file mode 100644
index 7614dd5f..00000000
--- a/ci_GEM.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0" 
-       xmlns:xs="http://www.w3.org/2001/XMLSchema" 
-       xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
->
-
-  <!-- Some information about detector  -->
-  <info name="Central Ion GEM" title="Central Ion GEM"
-        author="Marshall Scott"
-        url="https://eicweb.phy.anl.gov/EIC/detectors/reference_detector.git"
-        status="development"
-        version="v1 2021-03-23">
-    <comment>Central Ion GEM</comment>        
-  </info>
-
-  <!-- Use DD4hep elements and materials definitions -->
-  <includes>
-    <gdmlFile ref="elements.xml"/>
-    <gdmlFile ref="materials.xml"/>
-  </includes>
-
-  <!-- Define the dimensions of the world volume -->
-  <define>
-    <constant name="ci_GEM_id"      value="1">
-    <constant name="ci_GEM_rin"     value="10 * cm">
-    <constant name="ci_GEM_rout"    value="95 * cm">
-    <constant name="ci_GEM_sizez"   value="30 * cm">
-    <constant name="ci_GEM_shiftz"  value="0 * cm">
-    <constant name="ci_GEM_posz"    value="0 * cm">
-    <constant name="ci_GEM_posx"    value="0 * cm">
-    <constant name="ci_GEM_nlayers" value="8">
-  </define>
-
-   <limits>
-  </limits>
-
-  <regions>
-  </regions>
-
-  <!-- Common Generic visualization attributes -->
-  <!-- change this -->
-  <comment>Common Generic visualization attributes</comment>
-  <display>
-    <vis name="ci_GEMVis"  r= "0.8"  g="0.4"  b="0.3" alpha="0.8" showDaughters="true" visible="true"/>
-  </display>
-
-  <!-- Define detector -->
-  <detectors>
-    <comment>
-      Central Ion GEM
-    </comment>
-    <detector id="ci_GEM_id" name="ci_GEM" type="ci_GEM" insideTrackingVolume="false" vis="ci_GEMVis">
-	    <material name="Ar10CO2"/>  <!-- G4_Galactic -->	    
-      <dimensions rmin="ci_GEM_rin" rmax="ci_GEM_rout" sizez="ci_GEM_sizez" delta="ci_GEM_shiftz"	z="ci_GEM_posz" x="ci_GEM_posx" nlayers="ci_GEM_nlayers"/>
-      <layer id="0" z="-sizez * 0.5 + (5 + 3. * id) * cm" inner_r="rmin + (1. + 0.5 * id) * cm" outer_r="rmax + (-25. + 2. * id) * cm" dz="1 * cm" />
-      <layer id="1" z="-sizez * 0.5 + (5 + 3. * id) * cm" inner_r="rmin + (1. + 0.5 * id) * cm" outer_r="rmax + (-25. + 2. * id) * cm" dz="1 * cm" />
-      <layer id="2" z="-sizez * 0.5 + (5 + 3. * id) * cm" inner_r="rmin + (1. + 0.5 * id) * cm" outer_r="rmax + (-25. + 2. * id) * cm" dz="1 * cm" />
-      <layer id="3" z="-sizez * 0.5 + (5 + 3. * id) * cm" inner_r="rmin + (1. + 0.5 * id) * cm" outer_r="rmax + (-25. + 2. * id) * cm" dz="1 * cm" />
-      <layer id="4" z="-sizez * 0.5 + (5 + 3. * id) * cm" inner_r="rmin + (1. + 0.5 * id) * cm" outer_r="rmax + (-25. + 2. * id) * cm" dz="1 * cm" />
-      <layer id="5" z="-sizez * 0.5 + (5 + 3. * id) * cm" inner_r="rmin + (1. + 0.5 * id) * cm" outer_r="rmax + (-25. + 2. * id) * cm" dz="1 * cm" />
-      <layer id="6" z="-sizez * 0.5 + (5 + 3. * id) * cm" inner_r="rmin + (1. + 0.5 * id) * cm" outer_r="rmax + (-25. + 2. * id) * cm" dz="1 * cm" />
-      <layer id="7" z="-sizez * 0.5 + (5 + 3. * id) * cm" inner_r="rmin + (1. + 0.5 * id) * cm" outer_r="rmax + (-25. + 2. * id) * cm" dz="1 * cm" />
-    </detector>
-  </detectors>
-
-  <plugins>
-  </plugins>
-
-
-
-
diff --git a/compact/definitions.xml b/compact/definitions.xml
index ee5fc40b..2f6e84c7 100644
--- a/compact/definitions.xml
+++ b/compact/definitions.xml
@@ -217,6 +217,7 @@
     <constant name="ci_GEM_id"          value="122"/>
     <constant name="ForwardTRD_ID"      value="123"/>
     <constant name="GEMTrackerEndcap_ID" value="124"/>
+    <constant name="GEMTrackerEndcapN_ID" value="125"/>
 
     <comment> 
       =====================================
@@ -365,21 +366,47 @@
       Vertex Tracker Parameters
       -------------------------
     </comment>
-    <constant name="VertexTrackerInnerRadius"       value="30.0*mm"/>
-    <constant name="VertexTrackerOuterRadius"       value="150.0*mm"/>
-    <constant name="VertexTrackerOuterBarrelLength" value="400.0*mm"/>
+    <constant name="VertexTrackerBarrel_rmin"       value="Beampipe_rmax+5.0*mm"/>
+    <constant name="VertexTrackerBarrel_rmax"       value="150.0*mm"/>
+    <constant name="VertexTrackerBarrel_length"     value="400.0*mm"/>
+    <constant name="VertexTrackerBarrel_zmax"       value="VertexTrackerBarrel_length/2.0"/>
+
+    <constant name="VertexTrackerEndcapP_rmax"       value="VertexTrackerBarrel_rmax"/>
+    <constant name="VertexTrackerEndcapN_rmax"       value="VertexTrackerBarrel_rmax"/>
+    <constant name="VertexTrackerEndcapP_rmin"      value="VertexTrackerBarrel_rmin"/>
+    <constant name="VertexTrackerEndcapN_rmin"      value="VertexTrackerBarrel_rmin"/>
+    <constant name="VertexTrackerEndcapP_zmax"      value="600.0*mm"/>
+    <constant name="VertexTrackerEndcapN_zmax"      value="600.0*mm"/>
+
+
+    <constant name="VertexTrackingRegion_length" value="VertexTrackerEndcapP_zmax + VertexTrackerEndcapN_zmax "/>
+    <constant name="VertexTrackingRegion_zmin"   value="VertexTrackingRegion_length/2.0"/>
+    <constant name="VertexTrackingRegion_rmax"   value="VertexTrackingRegion_length/2.0"/>
+
+    <comment>Deprecated</comment>
+    <constant name="VertexTrackerOuterRadius"       value="VertexTrackerBarrel_rmax"/>
+    <constant name="VertexTrackerInnerRadius"       value="VertexTrackerBarrel_rmin"/>
+    <constant name="VertexTrackerOuterBarrelLength" value="VertexTrackingRegion_length"/>
 
     <comment>
       --------------------------
-      Silicon Tracker Parameters
+      Tracker Detector Parameters
       --------------------------
-      Note current values should be updated
     </comment>
-    <constant name="SiliconTrackerInnerRadius"       value="95.0*mm"/>
-    <constant name="SiliconTrackerInnerBarrelLength" value="300.0*mm"/>
-    <constant name="SiliconTrackerOuterRadius"       value="Solenoid_rmax/3.0"/>
-    <constant name="SiliconTrackerOuterBarrelLength" value="1600.0*mm"/>
-    <constant name="SiliconTrackerOuterBarrel_zmax"  value="SiliconTrackerOuterBarrelLength/2.0"/>
+
+    <constant name="TrackerBarrel_rmin"        value="VertexTrackerBarrel_rmax"/>
+    <constant name="TrackerBarrel_rmax"        value="Solenoid_rmax/3.0"/>
+    <constant name="TrackerBarrelOuter_length" value="1600.0*mm"/>
+    <constant name="TrackerBarrelInner_length" value="VertexTrackingRegion_length"/>
+    <constant name="TrackerBarrelInner_zmax"   value="TrackerBarrelInner_length/2.0"/>
+    <constant name="TrackerBarrelOuter_zmax"   value="TrackerBarrelOuter_length/2.0"/>
+
+    <comment> Deprecated </comment>
+    <constant name="SiliconTrackerInnerRadius"       value="TrackerBarrel_rmin"/>
+    <constant name="SiliconTrackerInnerBarrelLength" value="TrackerBarrelInner_length"/>
+    <constant name="SiliconTrackerOuterRadius"       value="TrackerBarrel_rmax"/>
+    <constant name="SiliconTrackerOuterBarrelLength" value="TrackerBarrelOuter_length"/>
+    <constant name="SiliconTrackerOuterBarrel_zmax"  value="TrackerBarrelOuter_length/2.0"/>
 
     <comment>
       Central tracking boundaries
@@ -387,14 +414,14 @@
       The central tracking detectors are assumed to be symmtric about the origin.
       
     </comment>
-    <constant name="BarrelTracking_length"       value="SiliconTrackerOuterBarrelLength"/>
-    <constant name="BarrelTracking_rmax"         value="SiliconTrackerOuterRadius"/>
-    <constant name="BarrelTrackingAndPID_rmax"   value="BarrelTracking_rmax+BarrelExtraPIDThickness"/>
+    <constant name="BarrelTracking_length"       value="TrackerBarrelOuter_length"/>
+    <constant name="BarrelTracking_rmax"         value="TrackerBarrel_rmax"/>
 
-    <constant name="CentralTracking_length"      value="BarrelTracking_length + ForwardTrackingLength + BackwardTrackingLength"/>
-    <constant name="CentralTracking_rmax"        value="SiliconTrackerOuterRadius"/>
+    <constant name="BarrelTrackingAndPID_length" value="BarrelTracking_length "/>
+    <constant name="BarrelTrackingAndPID_rmax"   value="BarrelTracking_rmax   + BarrelExtraPIDThickness"/>
 
-    <constant name="VertexTrackingRegion_length" value="SiliconTrackerOuterBarrelLength"/>
+    <constant name="CentralTracking_length"      value="BarrelTracking_length + ForwardTrackingLength + BackwardTrackingLength"/>
+    <constant name="CentralTracking_rmax"        value="TrackerBarrel_rmax"/>
 
     <comment> These are used by ddsim </comment>
     <constant name="tracker_region_rmax"   value="Solenoid_rmax/2.0"/>
diff --git a/compact/gem_tracker_endcap.xml b/compact/gem_tracker_endcap.xml
index 7d0604e3..d545a86a 100644
--- a/compact/gem_tracker_endcap.xml
+++ b/compact/gem_tracker_endcap.xml
@@ -155,6 +155,96 @@
       </layer>
     </detector>
 
+    <detector
+      id="GEMTrackerEndcapN_ID"
+      name="GEMTrackerEndcapN"
+      type="refdet_GEMTrackerEndcap"
+      readout="GEMTrackerEndcapHits"
+      vis="Argonne_Red"
+      reflect="true">
+      <module name="GEMModule1" vis="Argonne_Process_Blue">
+        <trd x1="GEMTrackerEndcapFoilX1/2.0" x2="GEMTrackerEndcapFoilX2/2.0" z="GEMTrackerEndcapFoilY/2"/>
+        <comment> Going from HV side to readout side</comment>
+        <module_component thickness="0.127 * mm" material="Mylar"/>
+        <module_component thickness="50.0*um" material="Kapton" name="entrance_window"/>
+        <module_component thickness=" 3.0*mm" material="Ar10CO2" name="entrance region" />
+        <module_component thickness="50.0*um" material="Kapton"/>
+        <module_component thickness=" 3.0*um" material="Copper"/>
+        <module_component thickness=" 3.0*mm" material="Ar10CO2" name="drift region"/>
+        <module_component thickness="30.0*um" material="Kapton"  name="gem_foil"/>
+        <module_component thickness=" 3.0*um" material="Copper"  name="gem_foil_Cu"/>
+        <module_component thickness=" 2.0*mm" material="Ar10CO2" name="transfer region I"/>
+        <module_component thickness="30.0*um" material="Kapton"  name="gem_foil"/>
+        <module_component thickness=" 3.0*um" material="Copper"  name="gem_foil_Cu"/>
+        <module_component thickness=" 2.0*mm" material="Ar10CO2" name="transfer region II"/>
+        <module_component thickness="30.0*um" material="Kapton"  name="gem_foil"/>
+        <module_component thickness=" 3.0*um" material="Copper"  name="gem_foil_Cu"/>
+        <module_component thickness=" 2.0*mm" material="Ar10CO2" name="induction region"/>
+        <module_component thickness="30.0*um" material="Kapton"  name="readout"     sensitive="true"/>
+        <module_component thickness=" 3.0*um" material="Copper"  name="readout_Cu"/>
+        <module_component thickness="127.0*um" material="Mylar"/>
+        <module_component thickness="200.0*um" material="Epoxy" sensitive="true" vis="Argonne_Process_Blue"/>
+      </module>
+      <module name="GEMSupportModule1" vis="Argonne_Process_Blue">
+        <trd x1="GEMTrackerEndcapFoilX2/2.0" x2="GEMTrackerEndcapFoilX1/2.0" z="GEMTrackerEndcapFrameBotEdge_width"/>
+        <module_component thickness="GEMTrackerEndcapFrame_thickness" material="Mylar"/>
+      </module>
+      <module name="GEMSupportModule2" vis="Argonne_Process_Blue">
+        <trd x1="GEMTrackerEndcapFrameSideEdge_width" x2="GEMTrackerEndcapFrameSideEdge_width" z="GEMTrackerEndcapFoilY/2"/>
+        <module_component thickness="4.0*mm" material="Mylar"/>
+      </module>
+      <layer id="1" >
+        <ring vis="Argonne_Red"
+          r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
+          zstart="GEMTrackerEndcap_zmin + 0.5*GEMTrackerEndcapLayer_thickness"
+          nmodules="12" dz="10 * mm" module="GEMModule1" />
+        <ring vis="Argonne_Blue" phi0="15.0*degree"
+          r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
+          zstart="GEMTrackerEndcap_zmin + 0.5*GEMTrackerEndcapLayer_thickness"
+          nmodules="12" dz="0 * mm" module="GEMSupportModule2" />
+      </layer>
+      <layer id="2" >
+        <ring vis="Argonne_Red"
+          r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
+          zstart="GEMTrackerEndcap_zmin+1.5*GEMTrackerEndcapLayer_thickness"
+          nmodules="12" dz="10 * mm" module="GEMModule1" />
+        <ring vis="Argonne_Blue" phi0="15.0*degree"
+          r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
+          zstart="GEMTrackerEndcap_zmin+1.5*GEMTrackerEndcapLayer_thickness"
+          nmodules="12" dz="0 * mm" module="GEMSupportModule2" />
+      </layer>
+      <layer id="3" >
+        <ring vis="Argonne_Red"
+          r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
+          zstart="GEMTrackerEndcap_zmin+2.5*GEMTrackerEndcapLayer_thickness"
+          nmodules="12" dz="10 * mm" module="GEMModule1" />
+        <ring vis="Argonne_Blue" phi0="15.0*degree"
+          r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
+          zstart="GEMTrackerEndcap_zmin+2.5*GEMTrackerEndcapLayer_thickness"
+          nmodules="12" dz="0 * mm" module="GEMSupportModule2" />
+      </layer>
+      <layer id="4" >
+        <ring vis="Argonne_Red"
+          r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
+          zstart="GEMTrackerEndcap_zmin+3.5*GEMTrackerEndcapLayer_thickness"
+          nmodules="12" dz="10 * mm" module="GEMModule1" />
+        <ring vis="Argonne_Blue" phi0="15.0*degree"
+          r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
+          zstart="GEMTrackerEndcap_zmin+3.5*GEMTrackerEndcapLayer_thickness"
+          nmodules="12" dz="0 * mm" module="GEMSupportModule2" />
+      </layer>
+      <layer id="5" >
+        <ring vis="Argonne_Red"
+          r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
+          zstart="GEMTrackerEndcap_zmin+4.5*GEMTrackerEndcapLayer_thickness"
+          nmodules="12" dz="10 * mm" module="GEMModule1" />
+        <ring vis="Argonne_Blue" phi0="15.0*degree"
+          r="GEMTrackerEndcapFoil_rmin+GEMTrackerEndcapFoilY/2.0"
+          zstart="GEMTrackerEndcap_zmin+4.5*GEMTrackerEndcapLayer_thickness"
+          nmodules="12" dz="0 * mm" module="GEMSupportModule2" />
+      </layer>
+    </detector>
+
   </detectors>
 
   <readouts>
diff --git a/compact/mm_tracker_barrel.xml b/compact/mm_tracker_barrel.xml
index 483b8914..aef3c89d 100644
--- a/compact/mm_tracker_barrel.xml
+++ b/compact/mm_tracker_barrel.xml
@@ -3,13 +3,17 @@
   <comment>Micromegas tracker barrel</comment>        
 
   <define>
+
+    <constant name="MMTrackerBarrel_thickness" value="TrackerBarrel_rmax - TrackerBarrel_rmax"/>
+    <constant name="MMTrackerBarrel_NLayers" value="5"/>
+    <constant name="MMTrackerBarrel_delta" value="MMTrackerBarrel_thickness/MMTrackerBarrel_NLayers"/>
+
     <constant name="MMTrackerBarrelLayer1_rmin"          value="800.0 * mm"/>
     <constant name="MMTrackerBarrelLayer1_length"        value="100.0 * mm"/>
     <constant name="MMTrackerBarrelLayer1_thickness"     value="10.0 * mm"/>
     <constant name="MMTrackerBarrel_NZModules"           value="floor(BarrelTracking_length/MMTrackerBarrelLayer1_length)"/>
     <constant name="MMTrackerBarrelModulesTotal_length"  value="MMTrackerBarrel_NZModules*MMTrackerBarrelLayer1_length"/>
 
-
   </define>
 
   <limits>
@@ -25,9 +29,9 @@
     <detector id="MMTrackerBarrel_ID" name="MMTrackerBarrel" type="refdet_MMTrackerBarrel" readout="MMTrackerBarrelHits">
       <module name="Module1" vis="Argonne_Gold">
         <module_envelope
-          rmin="MMTrackerBarrelLayer1_rmin"
+          rmin="TrackerBarrel_rmax"
           length="MMTrackerBarrelLayer1_length"
-          thickness="MMTrackerBarrelLayer1_thickness" phi="90*degree" />
+          thickness="MMTrackerBarrel_delta" phi="90*degree" />
         <module_component thickness="1.0*mm" material="PEEK" sensitive="false">
           <position x="0" />
         </module_component>
diff --git a/compact/vertex_tracker.xml b/compact/vertex_tracker.xml
index 7cdb8a16..dd27d981 100644
--- a/compact/vertex_tracker.xml
+++ b/compact/vertex_tracker.xml
@@ -2,14 +2,14 @@
 <lccdd>
   <define>
 
-    <constant name="VertexTrackerRadius1" value="30*mm"/>
-    <constant name="VertexTrackerRadius2" value="38*mm"/>
-    <constant name="VertexTrackerRadius3" value="46*mm"/>
-    <constant name="VertexTrackerRadius4" value="54*mm"/>
-    <constant name="VertexTrackerRadius5" value="62*mm"/>
-    <constant name="VertexTrackerRadius6" value="70*mm"/>
-    <constant name="VertexTrackerRadius7" value="78*mm"/>
-    <constant name="VertexTrackerRadius8" value="86*mm"/>
+    <constant name="VertexTrackerRadius1" value="46*mm"/>
+    <constant name="VertexTrackerRadius2" value="54*mm"/>
+    <constant name="VertexTrackerRadius3" value="62*mm"/>
+    <constant name="VertexTrackerRadius4" value="70*mm"/>
+    <constant name="VertexTrackerRadius5" value="80*mm"/>
+    <constant name="VertexTrackerRadius6" value="95*mm"/>
+    <constant name="VertexTrackerRadius7" value="110*mm"/>
+    <constant name="VertexTrackerRadius8" value="125*mm"/>
     <constant name="VertexTrackerNModules1" value="14"/>
     <constant name="VertexTrackerNModules2" value="18"/>
     <constant name="VertexTrackerNModules3" value="22"/>
@@ -19,20 +19,21 @@
     <constant name="VertexTrackerNModules7" value="36"/>
     <constant name="VertexTrackerNModules8" value="40"/>
 
-    <constant name="VertexTrackerBarrelLength" value="400.0*mm"/>
 
-    <constant name="SiVertexEndcapP_rmin" value="VertexTrackerInnerRadius"/>
-    <constant name="SiVertexEndcapP_rmax" value="VertexTrackerOuterRadius"/>
-    <constant name="SiVertexEndcapP_zmin" value="VertexTrackerBarrelLength + 5*mm"/>
+    <!--
+    <constant name="VertexTrackerEndcapP_rmin" value="VertexTrackerInnerRadius"/>
+    <constant name="VertexTrackerEndcapP_rmax" value="VertexTrackerOuterRadius"/>
+    <constant name="VertexTrackerEndcapP_zmin" value="VertexTrackerBarrel_length + 5*mm"/>
 
-    <constant name="SiVertexEndcapN_rmin" value="VertexTrackerInnerRadius"/>
-    <constant name="SiVertexEndcapN_rmax" value="VertexTrackerOuterRadius"/>
-    <constant name="SiVertexEndcapN_zmin" value="VertexTrackerBarrelLength + 5*mm"/>
+    <constant name="VertexTrackerEndcapN_rmin" value="VertexTrackerInnerRadius"/>
+    <constant name="VertexTrackerEndcapN_rmax" value="VertexTrackerOuterRadius"/>
+    <constant name="VertexTrackerEndcapN_zmin" value="VertexTrackerBarrelLength + 5*mm"/>
+    -->
+    <constant name="VertexTrackerEndcapN_zmin" value="VertexTrackerBarrel_zmax"/>
+    <constant name="VertexTrackerEndcapP_zmin" value="VertexTrackerBarrel_zmax"/>
 
-    <constant name="SiVertexEndcap_NLayers" value="5"/>
-    <constant name="SiVertexEndcapP_zmax" value="VertexTrackingRegion_length/2 - SiVertexEndcapN_zmin"/>
-    <constant name="SiVertexEndcapP_zmax" value="VertexTrackingRegion_length/2 - SiVertexEndcapN_zmin"/>
-    <constant name="SiVertexEndcap_delta" value="(SiVertexEndcapP_zmax - SiVertexEndcapP_zmin)/SiVertexEndcap_NLayers"/>
+    <constant name="VertexEndcap_NLayers" value="5"/>
+    <constant name="VertexTrackerEndcap_delta" value="(VertexTrackerEndcapP_zmax - VertexTrackerEndcapP_zmin)/VertexEndcap_NLayers"/>
 
   
 </define>
@@ -48,141 +49,144 @@
       name="SiVertexSubAssembly" 
       type="DD4hep_SubdetectorAssembly" 
       vis="SiTrackerSubAssemblyVis">
-      <composite name="SiVertexEndcapN"/>
-      <composite name="SiVertexEndcapP"/> 
+      <composite name="VertexTrackerEndcapN"/>
+      <composite name="VertexTrackerEndcapP"/> 
       <composite name="SiVertexBarrel"/>
     </detector>
 
 
     <detector id="SiVertexBarrel_ID" name="SiVertexBarrel" type="refdet_SiVertexBarrel"
       readout="SiVertexBarrelHits" insideTrackingVolume="true" >
-      <dimensions rmin="VertexTrackerRadius1-5*mm" rmax="VertexTrackerRadius8+5*mm" length="VertexTrackerBarrelLength+1.0*mm"/>
+      <dimensions rmin="VertexTrackerBarrel_rmin" rmax="VertexTrackerBarrel_rmax" length="VertexTrackerBarrel_length"/>
+
       <comment> Define available modules </comment>
       <module name="SOIPIXD" vis="PurpleVis">
-        <frame width="15*mm"  height="3.0*mm" length="VertexTrackerBarrelLength" thickness="0.1 * mm" material="CarbonFiber_25percent" vis="BlueGreenVis" />
-        <module_component name="silicon" width="14.0*mm" length="VertexTrackerBarrelLength-0.1*mm" 
+        <frame width="15*mm"  height="3.0*mm" length="VertexTrackerBarrel_length" thickness="0.1 * mm" material="CarbonFiber_25percent" vis="BlueGreenVis" />
+        <module_component name="silicon" width="14.0*mm" length="VertexTrackerBarrel_length-0.1*mm" 
           thickness="0.05*mm" material="Silicon" sensitive="true">
           <position z="-0.025*mm" y="0*mm"/>
         </module_component>
       </module>
+
       <module name="UFSD">
-        <frame width="15*mm"  height="3.0*mm" length="VertexTrackerBarrelLength" thickness="0.1 * mm" material="CarbonFiber_25percent" vis="BlueGreenVis" />
-        <module_component name="silicon" width="14.0*mm" length="VertexTrackerBarrelLength-0.1*mm" 
+        <frame width="15*mm"  height="3.0*mm" length="VertexTrackerBarrel_length" thickness="0.1 * mm" material="CarbonFiber_25percent" vis="BlueGreenVis" />
+        <module_component name="silicon" width="14.0*mm" length="VertexTrackerBarrel_length-0.1*mm" 
           thickness="0.05*mm" material="Silicon" sensitive="true">
           <position z="-0.025*mm" y="0*mm"/>
         </module_component>
       </module>
+
       <comment> Layers composed of many arrayed modules  </comment>
-      <layer module="SOIPIXD" id="2" vis="InvisibleWithDaughters">
+      <layer module="SOIPIXD" id="2" vis="SiVertexVis">
         <barrel_envelope inner_r="(VertexTrackerRadius1+VertexTrackerRadius2)/2" 
-                         outer_r="(VertexTrackerRadius2+VertexTrackerRadius3)/2" z_length="VertexTrackerBarrelLength+0.1*mm"/>
+                         outer_r="(VertexTrackerRadius2+VertexTrackerRadius3)/2" z_length="VertexTrackerBarrel_length"/>
         <rphi_layout phi_tilt="10.0*degree" nphi="VertexTrackerNModules2" phi0="0.0" rc="VertexTrackerRadius2" dr="0.0 * mm"/>
         <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
       </layer>
-      <layer module="UFSD" id="3" vis="InvisibleWithDaughters">
+      <layer module="UFSD" id="3" vis="SiVertexVis">
         <barrel_envelope inner_r="(VertexTrackerRadius2+VertexTrackerRadius3)/2" 
-                         outer_r="(VertexTrackerRadius3+VertexTrackerRadius4)/2" z_length="VertexTrackerBarrelLength+0.1*mm"/>
+                         outer_r="(VertexTrackerRadius3+VertexTrackerRadius4)/2" z_length="VertexTrackerBarrel_length"/>
         <rphi_layout phi_tilt="10.0*degree" nphi="VertexTrackerNModules3" phi0="0.0" rc="VertexTrackerRadius3" dr="0.0 * mm"/>
         <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
       </layer>
-      <layer module="UFSD" id="4" vis="InvisibleWithDaughters">
+      <layer module="UFSD" id="4" vis="SiVertexVis">
         <barrel_envelope inner_r="(VertexTrackerRadius3+VertexTrackerRadius4)/2" 
-                         outer_r="(VertexTrackerRadius4+VertexTrackerRadius5)/2" z_length="VertexTrackerBarrelLength+0.1*mm"/>
+                         outer_r="(VertexTrackerRadius4+VertexTrackerRadius5)/2" z_length="VertexTrackerBarrel_length"/>
         <rphi_layout phi_tilt="10.0*degree" nphi="VertexTrackerNModules4" phi0="0.0" rc="VertexTrackerRadius4" dr="0.0 * mm"/>
         <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
       </layer>
-      <layer module="UFSD" id="5" vis="InvisibleWithDaughters">
+      <layer module="UFSD" id="5" vis="SiVertexVis">
         <barrel_envelope inner_r="(VertexTrackerRadius4+VertexTrackerRadius5)/2" 
-                         outer_r="(VertexTrackerRadius5+VertexTrackerRadius6)/2" z_length="VertexTrackerBarrelLength+0.1*mm"/>
+                         outer_r="(VertexTrackerRadius5+VertexTrackerRadius6)/2" z_length="VertexTrackerBarrel_length"/>
         <rphi_layout phi_tilt="10.0*degree" nphi="VertexTrackerNModules5" phi0="0.0" rc="VertexTrackerRadius5" dr="0.0 * mm"/>
         <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
       </layer>
-      <layer module="UFSD" id="6" vis="InvisibleWithDaughters">
+      <layer module="UFSD" id="6" vis="SiVertexVis">
         <barrel_envelope inner_r="(VertexTrackerRadius5+VertexTrackerRadius6)/2" 
-                         outer_r="(VertexTrackerRadius6+VertexTrackerRadius7)/2" z_length="VertexTrackerBarrelLength+0.1*mm"/>
+                         outer_r="(VertexTrackerRadius6+VertexTrackerRadius7)/2" z_length="VertexTrackerBarrel_length"/>
         <rphi_layout phi_tilt="10.0*degree" nphi="VertexTrackerNModules6" phi0="0.0" rc="VertexTrackerRadius6" dr="0.0 * mm"/>
         <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
       </layer>
-      <layer module="SOIPIXD" id="7" vis="InvisibleWithDaughters">
+      <layer module="SOIPIXD" id="7" vis="SiVertexVis">
         <barrel_envelope inner_r="(VertexTrackerRadius6+VertexTrackerRadius7)/2" 
-                         outer_r="(VertexTrackerRadius7+VertexTrackerRadius8)/2" z_length="VertexTrackerBarrelLength+0.1*mm"/>
+                         outer_r="(VertexTrackerRadius7+VertexTrackerRadius8)/2" z_length="VertexTrackerBarrel_length"/>
         <rphi_layout phi_tilt="10.0*degree" nphi="VertexTrackerNModules7" phi0="0.0" rc="VertexTrackerRadius7" dr="0.0 * mm"/>
         <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
       </layer>
-      <layer module="SOIPIXD" id="8" vis="InvisibleWithDaughters">
+      <layer module="SOIPIXD" id="8" vis="SiVertexVis">
         <barrel_envelope inner_r="(VertexTrackerRadius7+VertexTrackerRadius8)/2" 
-                         outer_r="VertexTrackerRadius8+5*mm" z_length="VertexTrackerBarrelLength+0.1*mm"/>
+                         outer_r="VertexTrackerRadius8+5*mm" z_length="VertexTrackerBarrel_length"/>
         <rphi_layout phi_tilt="10.0*degree" nphi="VertexTrackerNModules8" phi0="0.0" rc="VertexTrackerRadius8" dr="0.0 * mm"/>
         <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
       </layer>
     </detector>
 
-    <detector id="SiVertexEndcapP_ID" name="SiVertexEndcapP" type="ref_DiskTracker"
+    <detector id="SiVertexEndcapP_ID" name="VertexTrackerEndcapP" type="ref_DiskTracker"
       insideTrackingVolume="true" reflect="false" vis="Argonne_Red">
       <position x="0" y="0" z="0"/>
       <layer id="1" vis="Argonne_Orange"
-        inner_z="SiVertexEndcapP_zmin + 0*SiVertexEndcap_delta" 
-        inner_r="SiVertexEndcapP_rmin" 
-        outer_r="SiVertexEndcapP_rmax">
+        inner_z="VertexTrackerEndcapP_zmin + 0*VertexTrackerEndcap_delta" 
+        inner_r="VertexTrackerEndcapP_rmin" 
+        outer_r="VertexTrackerEndcapP_rmax">
         <slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" />
       </layer>
       <layer id="2" vis="Argonne_Orange"
-        inner_z="SiVertexEndcapP_zmin + 1*SiVertexEndcap_delta" 
-        inner_r="SiVertexEndcapP_rmin" 
-        outer_r="SiVertexEndcapP_rmax">
+        inner_z="VertexTrackerEndcapP_zmin + 1*VertexTrackerEndcap_delta" 
+        inner_r="VertexTrackerEndcapP_rmin" 
+        outer_r="VertexTrackerEndcapP_rmax">
         <slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" />
       </layer>
       <layer id="3" vis="Argonne_Orange"
-        inner_z="SiVertexEndcapP_zmin + 2*SiVertexEndcap_delta" 
-        inner_r="SiVertexEndcapP_rmin" 
-        outer_r="SiVertexEndcapP_rmax">
+        inner_z="VertexTrackerEndcapP_zmin + 2*VertexTrackerEndcap_delta" 
+        inner_r="VertexTrackerEndcapP_rmin" 
+        outer_r="VertexTrackerEndcapP_rmax">
         <slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" />
       </layer>
       <layer id="4" vis="Argonne_Orange"
-        inner_z="SiVertexEndcapP_zmin + 3*SiVertexEndcap_delta" 
-        inner_r="SiVertexEndcapP_rmin" 
-        outer_r="SiVertexEndcapP_rmax">
+        inner_z="VertexTrackerEndcapP_zmin + 3*VertexTrackerEndcap_delta" 
+        inner_r="VertexTrackerEndcapP_rmin" 
+        outer_r="VertexTrackerEndcapP_rmax">
         <slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" />
       </layer>
       <layer id="5" vis="Argonne_Orange"
-        inner_z="SiVertexEndcapP_zmin + 4*SiVertexEndcap_delta" 
-        inner_r="SiVertexEndcapP_rmin" 
-        outer_r="SiVertexEndcapP_rmax">
+        inner_z="VertexTrackerEndcapP_zmin + 4*VertexTrackerEndcap_delta" 
+        inner_r="VertexTrackerEndcapP_rmin" 
+        outer_r="VertexTrackerEndcapP_rmax">
         <slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" />
       </layer>
     </detector>
 
-    <detector id="SiVertexEndcapN_ID" name="SiVertexEndcapN" type="ref_DiskTracker"
+    <detector id="SiVertexEndcapN_ID" name="VertexTrackerEndcapN" type="ref_DiskTracker"
       insideTrackingVolume="true" reflect="true" vis="Argonne_Red">
       <position x="0" y="0" z="0"/>
       <layer id="1" vis="Argonne_Orange"
-        inner_z="SiVertexEndcapN_zmin + 0*SiVertexEndcap_delta" 
-        inner_r="SiVertexEndcapN_rmin" 
-        outer_r="SiVertexEndcapN_rmax">
+        inner_z="VertexTrackerEndcapN_zmin + 0*VertexTrackerEndcap_delta" 
+        inner_r="VertexTrackerEndcapN_rmin" 
+        outer_r="VertexTrackerEndcapN_rmax">
         <slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" />
       </layer>
       <layer id="2" vis="Argonne_Orange"
-        inner_z="SiVertexEndcapN_zmin + 1*SiVertexEndcap_delta" 
-        inner_r="SiVertexEndcapN_rmin" 
-        outer_r="SiVertexEndcapN_rmax">
+        inner_z="VertexTrackerEndcapN_zmin + 1*VertexTrackerEndcap_delta" 
+        inner_r="VertexTrackerEndcapN_rmin" 
+        outer_r="VertexTrackerEndcapN_rmax">
         <slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" />
       </layer>
       <layer id="3" vis="Argonne_Orange"
-        inner_z="SiVertexEndcapN_zmin + 2*SiVertexEndcap_delta" 
-        inner_r="SiVertexEndcapN_rmin" 
-        outer_r="SiVertexEndcapN_rmax">
+        inner_z="VertexTrackerEndcapN_zmin + 2*VertexTrackerEndcap_delta" 
+        inner_r="VertexTrackerEndcapN_rmin" 
+        outer_r="VertexTrackerEndcapN_rmax">
         <slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" />
       </layer>
       <layer id="4" vis="Argonne_Orange"
-        inner_z="SiVertexEndcapN_zmin + 3*SiVertexEndcap_delta" 
-        inner_r="SiVertexEndcapN_rmin" 
-        outer_r="SiVertexEndcapN_rmax">
+        inner_z="VertexTrackerEndcapN_zmin + 3*VertexTrackerEndcap_delta" 
+        inner_r="VertexTrackerEndcapN_rmin" 
+        outer_r="VertexTrackerEndcapN_rmax">
         <slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" />
       </layer>
       <layer id="5" vis="Argonne_Orange"
-        inner_z="SiVertexEndcapN_zmin + 4*SiVertexEndcap_delta" 
-        inner_r="SiVertexEndcapN_rmin" 
-        outer_r="SiVertexEndcapN_rmax">
+        inner_z="VertexTrackerEndcapN_zmin + 4*VertexTrackerEndcap_delta" 
+        inner_r="VertexTrackerEndcapN_rmin" 
+        outer_r="VertexTrackerEndcapN_rmax">
         <slice material="Air" thickness="1.0*mm" vis="Argonne_Orange" />
       </layer>
     </detector>
@@ -194,7 +198,7 @@
       <segmentation type="CartesianGridXY" grid_size_x="0.20*mm" grid_size_y="0.20*mm" />
       <id>system:8,barrel:2,layer:4,module:12,sensor:2,x:32:-16,y:-16</id>
     </readout>
-    <readout name="SiVertexEndcapHits">
+    <readout name="VertexTrackerEndcapHits">
       <segmentation type="CartesianGridXY" grid_size_x="0.20*mm" grid_size_y="0.20*mm" />
       <id>system:8,barrel:2,layer:4,module:12,sensor:2,x:32:-16,y:-16</id>
     </readout>
diff --git a/reference_detector.xml b/reference_detector.xml
index c04c3e60..137966a4 100644
--- a/reference_detector.xml
+++ b/reference_detector.xml
@@ -120,7 +120,6 @@
   <include ref="compact/forward_trd.xml"/>
   <include ref="compact/vertex_tracker.xml"/>
   <include ref="compact/gem_tracker_endcap.xml"/>
-  <include ref="compact/mm_tracker_barrel.xml"/>
 
   <include ref="compact/B0_tracker.xml"/>
   <include ref="compact/forward_offM_tracker.xml"/>
@@ -129,10 +128,11 @@
   <include ref="eic/forward_ion_beamline.xml"/>
   <include ref="compact/hcal.xml"/>
   <include ref="compact/forward_rich.xml"/>
+  <include ref="compact/cb_CTD_Si.xml"/>
 
   <!--
+  <include ref="compact/mm_tracker_barrel.xml"/>
   <include ref="compact/ci_GEM.xml"/>
-  <include ref="compact/cb_CTD_Si.xml"/>
   <include ref="compact/cb_VTX_Barrel.xml"/>
   <include ref="compact/ci_HCAL.xml"/>
   <include ref="compact/roman_pots.xml"/>
-- 
GitLab