From 916fef909ac29d9507af90edc38959a94514ab80 Mon Sep 17 00:00:00 2001
From: Whitney Armstrong <warmstrong@anl.gov>
Date: Thu, 22 Apr 2021 16:52:37 -0500
Subject: [PATCH] Added forward and backward TOF planes

 - Broke TRD into to planes (per the ref. detector image).
---
 compact/ce_mrich.xml     |  2 +-
 compact/definitions.xml  | 20 ++++++++-------
 compact/forward_rich.xml |  2 +-
 compact/forward_trd.xml  | 14 ++++++++---
 compact/tof_endcap.xml   | 54 ++++++++++++++++++++++++++++++++++++++++
 reference_detector.xml   |  1 +
 6 files changed, 79 insertions(+), 14 deletions(-)
 create mode 100644 compact/tof_endcap.xml

diff --git a/compact/ce_mrich.xml b/compact/ce_mrich.xml
index 213b1aec..e854c6d1 100644
--- a/compact/ce_mrich.xml
+++ b/compact/ce_mrich.xml
@@ -3,7 +3,7 @@
   <define>
     <constant name="ce_MRICHRMin"   value="15*cm"/>
     <constant name="ce_MRICHRMax"   value="BarrelTrackingAndPID_rmax"/>
-    <constant name="ce_MRICHLength" value="BackwardCherenkovLength"/>
+    <constant name="ce_MRICHLength" value="BackwardCherenkov_length"/>
     <constant name="ce_MRICHZMin"   value="-EcalEndcapN_zmin+ce_MRICHLength"/>
 
   </define>
diff --git a/compact/definitions.xml b/compact/definitions.xml
index 2f6e84c7..c440ffcb 100644
--- a/compact/definitions.xml
+++ b/compact/definitions.xml
@@ -218,6 +218,8 @@
     <constant name="ForwardTRD_ID"      value="123"/>
     <constant name="GEMTrackerEndcap_ID" value="124"/>
     <constant name="GEMTrackerEndcapN_ID" value="125"/>
+    <constant name="ForwardTOF_ID"      value="126"/>
+    <constant name="BackwardTOF_ID"      value="127"/>
 
     <comment> 
       =====================================
@@ -323,14 +325,14 @@
 
     <constant name="ForwardRICH_length"       value="1.1*m"/>
     <constant name="ForwardTRD_length"        value="10.0*cm"/>
-    <constant name="ForwardTOF_length"        value="10.0*mm"/>
+    <constant name="ForwardTOF_length"        value="5.0*cm"/>
     
-    <constant name="BackwardCherenkovLength"   value="15.0*cm"/>
-    <constant name="BackwardTOFLength"         value="10.0*cm"/>
+    <constant name="BackwardCherenkov_length"   value="20.0*cm"/>
+    <constant name="BackwardTOF_length"         value="10.0*cm"/>
 
     <comment> Total length of PID detectors above</comment>
     <constant name="ForwardPIDLength"    value="ForwardRICH_length + ForwardTRD_length + ForwardTOF_length"/>
-    <constant name="BackwardPIDLength"   value="BackwardCherenkovLength + BackwardTOFLength"/>
+    <constant name="BackwardPIDLength"   value="BackwardCherenkov_length + BackwardTOF_length"/>
 
     <comment> For detectors adjacent to beam pipe.</comment>
     <constant name="ForwardPID_rmin"  value="Beampipe_rmax + 10*mm"/>
@@ -350,16 +352,16 @@
       ============================
     </comment>
 
-    <constant name="ForwardTrackingLength" value="30.0*cm"/>
-    <constant name="BackwardTrackingLength" value="30.0*cm"/>
+    <constant name="ForwardTracking_length" value="30.0*cm"/>
+    <constant name="BackwardTracking_length" value="30.0*cm"/>
 
     <comment>
       -------------------------
       GEM Tracker Parameters
       -------------------------
     </comment>
-    <constant name="ForwardTrackingGEMLength" value="ForwardTrackingLength"/>
-    <constant name="BackwardTrackingGEMLength" value="BackwardTrackingLength"/>
+    <constant name="ForwardTrackingGEMLength" value="ForwardTracking_length"/>
+    <constant name="BackwardTrackingGEMLength" value="BackwardTracking_length"/>
 
     <comment>
       -------------------------
@@ -420,7 +422,7 @@
     <constant name="BarrelTrackingAndPID_length" value="BarrelTracking_length "/>
     <constant name="BarrelTrackingAndPID_rmax"   value="BarrelTracking_rmax   + BarrelExtraPIDThickness"/>
 
-    <constant name="CentralTracking_length"      value="BarrelTracking_length + ForwardTrackingLength + BackwardTrackingLength"/>
+    <constant name="CentralTracking_length"      value="BarrelTracking_length + ForwardTracking_length + BackwardTracking_length"/>
     <constant name="CentralTracking_rmax"        value="TrackerBarrel_rmax"/>
 
     <comment> These are used by ddsim </comment>
diff --git a/compact/forward_rich.xml b/compact/forward_rich.xml
index e35fe98e..56342011 100644
--- a/compact/forward_rich.xml
+++ b/compact/forward_rich.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <lccdd>
   <define>
-    <constant name="ForwardRICH_zmin"   value="BarrelTracking_length/2.0 + ForwardTrackingLength "/>
+    <constant name="ForwardRICH_zmin"   value="BarrelTracking_length/2.0 + ForwardTracking_length "/>
     <constant name="ForwardRICH_rmin"   value="ForwardPID_rmin1"/>
     <constant name="ForwardRICH_rmax0"  value="SiliconTrackerOuterRadius"/>
     <constant name="ForwardRICH_rmax1"  value="EcalBarrel_rmin"/>
diff --git a/compact/forward_trd.xml b/compact/forward_trd.xml
index 680bbdc0..ef2195ca 100644
--- a/compact/forward_trd.xml
+++ b/compact/forward_trd.xml
@@ -6,7 +6,7 @@
       Forward TRD Parameters
       --------------------------
     </comment>
-    <constant name="ForwardTRD_zmin" value="BarrelTracking_length/2.0 + ForwardTrackingLength + ForwardRICH_length"/>
+    <constant name="ForwardTRD_zmin" value="BarrelTracking_length/2.0 + ForwardTracking_length + ForwardRICH_length"/>
     <constant name="ForwardTRD_rmin" value="ForwardPID_rmin1"/>
     <constant name="ForwardTRD_rmax" value="Solenoid_rmin"/>
   </define>
@@ -21,11 +21,19 @@
       vis="Argonne_Red">
       <position x="0" y="0" z="0.0"/>
       <layer id="1" 
-        vis="Argonne_Blue"
+        vis="Argonne_Red"
         inner_z="ForwardTRD_zmin" 
         inner_r="ForwardTRD_rmin" 
         outer_r="ForwardTRD_rmax">
-        <slice material="Air" thickness="ForwardTRD_length/2.0" vis="Argonne_Blue" />
+        <slice material="Air" thickness="ForwardTRD_length/2.5" vis="Argonne_Red" />
+      </layer>
+
+      <layer id="1" 
+        vis="Argonne_Red"
+        inner_z="ForwardTRD_zmin+ForwardTRD_length/2.0" 
+        inner_r="ForwardTRD_rmin" 
+        outer_r="ForwardTRD_rmax">
+        <slice material="Air" thickness="ForwardTRD_length/2.5" vis="Argonne_Red" />
       </layer>
     </detector>
   </detectors>
diff --git a/compact/tof_endcap.xml b/compact/tof_endcap.xml
new file mode 100644
index 00000000..50d9cff9
--- /dev/null
+++ b/compact/tof_endcap.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<lccdd>
+  <define>
+    <comment>
+      --------------------------
+      Forward and backward TOF Parameters
+      --------------------------
+    </comment>
+    <constant name="ForwardTOF_zmin" value="BarrelTracking_length/2.0 + ForwardTracking_length + ForwardRICH_length + ForwardTRD_length"/>
+    <constant name="ForwardTOF_rmin" value="ForwardPID_rmin1"/>
+    <constant name="ForwardTOF_rmax" value="Solenoid_rmin"/>
+    <constant name="BackwardTOF_zmin" value="BarrelTracking_length/2.0 + BackwardTracking_length + BackwardCherenkov_length "/>
+    <constant name="BackwardTOF_rmin" value="ForwardPID_rmin1"/>
+    <constant name="BackwardTOF_rmax" value="EcalBarrel_rmin"/>
+  </define>
+
+  <detectors>
+    <detector 
+      id="ForwardTOF_ID"
+      name="ForwardTOF"
+      type="ref_DiskTracker"
+      insideTrackingVolume="true"
+      reflect="false"
+      vis="Argonne_Orange">
+      <position x="0" y="0" z="0.0"/>
+      <layer id="1" 
+        vis="Argonne_Orange"
+        inner_z="ForwardTOF_zmin" 
+        inner_r="ForwardTOF_rmin" 
+        outer_r="ForwardTOF_rmax">
+        <slice material="Air" thickness="ForwardTOF_length/2.0" vis="Argonne_Orange" />
+      </layer>
+    </detector>
+
+    <detector 
+      id="BackwardTOF_ID"
+      name="BackwardTOF"
+      type="ref_DiskTracker"
+      insideTrackingVolume="true"
+      reflect="true"
+      vis="Argonne_Orange">
+      <position x="0" y="0" z="0.0"/>
+      <layer id="1" 
+        vis="Argonne_Orange"
+        inner_z="BackwardTOF_zmin" 
+        inner_r="BackwardTOF_rmin" 
+        outer_r="BackwardTOF_rmax">
+        <slice material="Air" thickness="BackwardTOF_length/2.0" vis="Argonne_Orange" />
+      </layer>
+    </detector>
+
+  </detectors>
+
+</lccdd>
diff --git a/reference_detector.xml b/reference_detector.xml
index 3e9de26a..5537e71e 100644
--- a/reference_detector.xml
+++ b/reference_detector.xml
@@ -122,6 +122,7 @@
   <include ref="compact/vertex_tracker.xml"/>
   <include ref="compact/gem_tracker_endcap.xml"/>
   <include ref="compact/ce_mrich.xml"/>
+  <include ref="compact/tof_endcap.xml"/>
   <include ref="compact/forward_trd.xml"/>
   <include ref="compact/forward_rich.xml"/>
 
-- 
GitLab