From cd0e4c9af0c6240acf35165082d9f94dc3315b70 Mon Sep 17 00:00:00 2001
From: Whitney Armstrong <warmstrong@anl.gov>
Date: Mon, 19 Jul 2021 14:36:19 -0500
Subject: [PATCH] Fixed acts endcap geometry errors

The ACTS layers cannot have overlapping surfaces.
This will likely go away in future when the concept of "layers" is
removed from ACTS geometry.
---
 compact/central_tracker.xml | 18 ++++++++++++------
 compact/tof_endcap.xml      | 11 +++++++----
 2 files changed, 19 insertions(+), 10 deletions(-)

diff --git a/compact/central_tracker.xml b/compact/central_tracker.xml
index 5785b111..61499038 100644
--- a/compact/central_tracker.xml
+++ b/compact/central_tracker.xml
@@ -55,11 +55,17 @@
     <constant name="TrackerEndcapInner_zmax"        value="TrackerBarrelOuter_length/2.0"/>
     <constant name="TrackerEndcapInner_length"        value="TrackerEndcapInner_zmax- TrackerEndcapInner_zmin"/>
     <constant name="TrackerEndcapInnerLayer_dz"        value="TrackerEndcapInner_length/TrackerEndcapInner_nLayers"/>
+    <constant name="TrackerEndcapInnerLayer_thickness"        value="TrackerEndcapInnerLayer_dz - 0.5*cm"/>
+    <comment> Note, the -1.0*cm is so the layers do not touch surfaces. 
+      This is a limitation of ACTS geometry which will likely go away in the future.</comment>
 
     <constant name="TrackerEndcapOuter_zmin"        value="TrackerBarrelOuter_length/2.0"/>
     <constant name="TrackerEndcapOuter_zmax"        value="TrackerEndcapOuter_zmin + 70"/>
     <constant name="TrackerEndcapOuter_length"        value="TrackerEndcapOuter_zmax- TrackerEndcapOuter_zmin"/>
     <constant name="TrackerEndcapOuterLayer_dz"        value="TrackerEndcapOuter_length/TrackerEndcapOuter_nLayers"/>
+    <constant name="TrackerEndcapOuterLayer_thickness"        value="TrackerEndcapOuterLayer_dz - 1.0*cm"/>
+    <comment> Note, the -1.0*cm is so the layers do not touch surfaces. 
+      This is a limitation of ACTS geometry which will likely go away in the future.</comment>
 
     <constant name="TrackerEndcapInner_rmin1" value="Beampipe_rmax+1.0*cm"/>
     <constant name="TrackerEndcapInner_rmin2" value="Beampipe_rmax+1.0*cm"/>
@@ -425,7 +431,7 @@
         <envelope  vis="AnlRed"
           rmin="TrackerEndcapOuter_rmin1"
           rmax="TrackerEndcapOuter_rmax1"
-          length="TrackerEndcapOuterLayer_dz"
+          length="TrackerEndcapOuterLayer_thickness"
           zstart="TrackerEndcapOuter_zmin" />
         <ring vis="AnlRed"
           r="TrackerEndcapOuter_rmin1+TrackerEndcapOuterMod1_y/2.0"
@@ -436,7 +442,7 @@
         <envelope  vis="AnlRed"
           rmin="TrackerEndcapOuter_rmin2"
           rmax="TrackerEndcapOuter_rmax2"
-          length="TrackerEndcapOuterLayer_dz"
+          length="TrackerEndcapOuterLayer_thickness"
           zstart="TrackerEndcapOuter_zmin + TrackerEndcapOuterLayer_dz" />
         <ring vis="AnlRed"
           r="TrackerEndcapOuter_rmin2+TrackerEndcapOuterMod2_y/2.0"
@@ -447,7 +453,7 @@
         <envelope  vis="AnlRed"
           rmin="TrackerEndcapOuter_rmin3"
           rmax="TrackerEndcapOuter_rmax3"
-          length="TrackerEndcapOuterLayer_dz"
+          length="TrackerEndcapOuterLayer_thickness"
           zstart="TrackerEndcapOuter_zmin + 2 * TrackerEndcapOuterLayer_dz" />
         <ring vis="AnlRed"
           r="TrackerEndcapOuter_rmin3+TrackerEndcapOuterMod3_y/2.0"
@@ -482,7 +488,7 @@
         <envelope  vis="AnlRed"
           rmin="TrackerEndcapOuter_rmin1 + 0 * 1.2*cm"
           rmax="TrackerEndcapOuter_rmax1"
-          length="TrackerEndcapOuterLayer_dz"
+          length="TrackerEndcapOuterLayer_thickness"
           zstart="TrackerEndcapOuter_zmin" />
         <ring vis="AnlRed"
           r="TrackerEndcapOuter_rmin1+TrackerEndcapOuterMod1_y/2.0"
@@ -493,7 +499,7 @@
         <envelope  vis="AnlRed"
           rmin="TrackerEndcapOuter_rmin2"
           rmax="TrackerEndcapOuter_rmax2"
-          length="TrackerEndcapOuterLayer_dz"
+          length="TrackerEndcapOuterLayer_thickness"
           zstart="TrackerEndcapOuter_zmin + TrackerEndcapOuterLayer_dz" />
         <ring vis="AnlRed"
           r="TrackerEndcapOuter_rmin2+TrackerEndcapOuterMod2_y/2.0"
@@ -504,7 +510,7 @@
         <envelope  vis="AnlRed"
           rmin="TrackerEndcapOuter_rmin3"
           rmax="TrackerEndcapOuter_rmax3"
-          length="TrackerEndcapOuterLayer_dz"
+          length="TrackerEndcapOuterLayer_thickness"
           zstart="TrackerEndcapOuter_zmin + 2 * TrackerEndcapOuterLayer_dz" />
         <ring vis="AnlRed"
           r="TrackerEndcapOuter_rmin3+TrackerEndcapOuterMod3_y/2.0"
diff --git a/compact/tof_endcap.xml b/compact/tof_endcap.xml
index 295fb7d0..af4ea84c 100644
--- a/compact/tof_endcap.xml
+++ b/compact/tof_endcap.xml
@@ -28,6 +28,9 @@
 
     <constant name="BackwardTOF_zmin"           value="BarrelTracking_length/2.0 + BackwardTracking_length + BackwardCherenkov_length "/>
     <constant name="BackwardTOF_dz"             value="(BackwardTOF_length-0.4*cm)/TOFEndcap_nLayers"/>
+    <constant name="BackwardTOF_thickness"      value="BackwardTOF_dz - 1.0*mm"/>
+    <comment> Note, the -1.0*mm is so the layers do not touch surfaces. 
+      This is a limitation of ACTS geometry which will likely go away in the future.</comment>
     <constant name="BackwardTOF_rmin1"          value="ForwardPID_rmin1"/>
     <constant name="BackwardTOF_rmin2"          value="ForwardPID_rmin1"/>
     <constant name="BackwardTOF_rmax1"          value="BarrelTracking_rmax"/>
@@ -63,7 +66,7 @@
           <envelope  vis="TOFVis"
             rmin="ForwardTOF_rmin1"
             rmax="ForwardTOF_rmax1"
-            length="ForwardTOF_dz"
+            length="BackwardTOF_thickness"
             zstart="ForwardTOF_zmin" />
           <ring vis="AnlRed"
             r="ForwardTOF_rmin1+ForwardTOFMod1_y/2.0"
@@ -74,7 +77,7 @@
           <envelope  vis="TOFVis"
             rmin="ForwardTOF_rmin2"
             rmax="ForwardTOF_rmax2"
-            length="ForwardTOF_dz"
+            length="BackwardTOF_thickness"
             zstart="ForwardTOF_zmin + ForwardTOF_dz" />
           <ring vis="AnlRed"
             r="ForwardTOF_rmin2+ForwardTOFMod2_y/2.0"
@@ -104,7 +107,7 @@
           <envelope  vis="TOFVis"
             rmin="BackwardTOF_rmin1 + 0 * 1.2*cm"
             rmax="BackwardTOF_rmax1"
-            length="ForwardTOF_dz"
+            length="BackwardTOF_thickness"
             zstart="BackwardTOF_zmin" />
           <ring vis="AnlRed"
             r="BackwardTOF_rmin1+BackwardTOFMod1_y/2.0"
@@ -115,7 +118,7 @@
           <envelope  vis="TOFVis"
             rmin="BackwardTOF_rmin2"
             rmax="BackwardTOF_rmax2"
-            length="BackwardTOF_dz"
+            length="BackwardTOF_thickness"
             zstart="BackwardTOF_zmin + BackwardTOF_dz" />
           <ring vis="AnlRed"
             r="BackwardTOF_rmin2+BackwardTOFMod2_y/2.0"
-- 
GitLab