From 56af20f66def8f5bf774c3f68d0840cff493cc68 Mon Sep 17 00:00:00 2001
From: Wouter Deconinck <wouter.deconinck@umanitoba.ca>
Date: Mon, 16 Aug 2021 23:39:31 +0000
Subject: [PATCH] Define Hcal per calorimetry working group

---
 compact/definitions.xml | 39 ++++++++++++++++++++++-----------------
 compact/hcal.xml        | 12 ++++++------
 2 files changed, 28 insertions(+), 23 deletions(-)

diff --git a/compact/definitions.xml b/compact/definitions.xml
index f7beba44..89d8a1cb 100644
--- a/compact/definitions.xml
+++ b/compact/definitions.xml
@@ -587,31 +587,36 @@ The logic goes like this:
     <documentation>
       #### Material Thickness 
     </documentation>
-    <constant name="HcalSteelThickness"       value="1.89 * cm"/>
-    <constant name="HcalPyrexThickness"       value="1.10 * mm"/>
-    <constant name="HcalRPCGasThickness"      value="1.20 * mm"/>
-    <constant name="HcalG10Thickness"         value="3.00 * mm"/>
-    <constant name="HcalAirThickness"         value="1.60 * mm"/>
+    <constant name="HcalBarrelSteelThickness"        value="2.0 * cm"/>
+    <constant name="HcalBarrelPolystyreneThickness"  value="0.5 * cm"/>
+    <constant name="HcalEndcapNSteelThickness"       value="HcalBarrelSteelThickness"/>
+    <constant name="HcalEndcapNPolystyreneThickness" value="HcalBarrelPolystyreneThickness"/>
+    <constant name="HcalEndcapPSteelThickness"       value="HcalBarrelSteelThickness"/>
+    <constant name="HcalEndcapPPolystyreneThickness" value="0.3 * cm"/>
 
-    <documentation> 
-      - Single Layer Thickness (for both barrel and endcap)
+    <documentation>
+      - Hcal Barrel Layers and computed Thickness
     </documentation>
-    <constant name="HcalSingleLayerThickness"
-      value="HcalSteelThickness + (2 * HcalPyrexThickness) + HcalRPCGasThickness + HcalG10Thickness + HcalAirThickness"/>
+    <constant name="HcalBarrelSingleLayerThickness"
+             value="HcalBarrelSteelThickness + HcalBarrelPolystyreneThickness"/>
+    <constant name="HcalBarrelLayer_NRepeat" value="floor(HcalBarrelAvailThickness / HcalBarrelSingleLayerThickness)"/>
+    <constant name="HcalBarrelThickness" value="HcalBarrelLayer_NRepeat * HcalBarrelSingleLayerThickness"/>
 
     <documentation>
-      - Hcal Barrel Layers and computed Thickness
+      - Hcal Endcap P Layers and computed Thickness
     </documentation>
-    <constant name="HcalBarrelLayer_NRepeat" value="floor(HcalBarrelAvailThickness / HcalSingleLayerThickness)"/>
-    <constant name="HcalBarrelThickness" value="HcalBarrelLayer_NRepeat * HcalSingleLayerThickness"/>
+    <constant name="HcalEndcapNSingleLayerThickness"
+             value="HcalEndcapNSteelThickness + HcalEndcapNPolystyreneThickness"/>
+    <constant name="HcalEndcapNLayer_NRepeat" value="floor(HcalEndcapN_length / HcalEndcapNSingleLayerThickness)"/>
+    <constant name="HcalEndcapN_thickness" value="HcalEndcapNLayer_NRepeat * HcalEndcapNSingleLayerThickness"/>
 
     <documentation>
-      - Hcal Endcap Layers and computed Thickness
+      - Hcal Endcap P Layers and computed Thickness
     </documentation>
-    <constant name="HcalEndcapPLayer_NRepeat" value="floor(HcalEndcapP_length / HcalSingleLayerThickness)"/>
-    <constant name="HcalEndcapNLayer_NRepeat" value="floor(HcalEndcapN_length / HcalSingleLayerThickness)"/>
-    <constant name="HcalEndcapP_thickness" value="HcalEndcapPLayer_NRepeat * HcalSingleLayerThickness"/>
-    <constant name="HcalEndcapN_thickness" value="HcalEndcapNLayer_NRepeat * HcalSingleLayerThickness"/>
+    <constant name="HcalEndcapPSingleLayerThickness"
+             value="HcalEndcapPSteelThickness + HcalEndcapPPolystyreneThickness"/>
+    <constant name="HcalEndcapPLayer_NRepeat" value="floor(HcalEndcapP_length / HcalEndcapPSingleLayerThickness)"/>
+    <constant name="HcalEndcapP_thickness" value="HcalEndcapPLayer_NRepeat * HcalEndcapPSingleLayerThickness"/>
 
     <comment> Special DIRC parameters </comment>
     <constant name="DIRCFull_length"            value="max(CentralTracking_length + BackwardInnerEndcap_length + EcalEndcapN_length, EcalBarrel_length) + 10*cm"/>
diff --git a/compact/hcal.xml b/compact/hcal.xml
index aa1e306d..b2f7d43f 100644
--- a/compact/hcal.xml
+++ b/compact/hcal.xml
@@ -31,8 +31,8 @@
         z="HcalBarrelLength"/>
       <staves vis="HcalBarrelVis"/>
       <layer repeat="HcalBarrelLayer_NRepeat">
-        <slice material="Steel235" thickness="2.0*cm" vis="HcalAbsorberVis"/>
-        <slice material="Polystyrene" thickness="0.5*cm" vis="HcalSensorVis" sensitive="yes" limits="cal_limits"/>
+        <slice material="Steel235" thickness="HcalBarrelSteelThickness" vis="HcalAbsorberVis"/>
+        <slice material="Polystyrene" thickness="HcalBarrelPolystyreneThickness" vis="HcalSensorVis" sensitive="yes" limits="cal_limits"/>
       </layer>
     </detector>
 
@@ -51,8 +51,8 @@
         rmin="HcalEndcapP_rmin"
         rmax="HcalBarrel_rmax"/>
       <layer repeat="51" vis="HcalEndcapVis" >
-        <slice material="Steel235" thickness="2.0" vis="HcalAbsorberVis"/>
-	<slice material="Polystyrene" thickness="0.3*cm" vis="HcalSensorVis" sensitive="yes" limits="cal_limits"/>
+        <slice material="Steel235" thickness="HcalEndcapPSteelThickness" vis="HcalAbsorberVis"/>
+        <slice material="Polystyrene" thickness="HcalEndcapPPolystyreneThickness" vis="HcalSensorVis" sensitive="yes" limits="cal_limits"/>
       </layer>
     </detector>
 
@@ -70,8 +70,8 @@
         rmin="HcalEndcapN_rmin" 
         rmax="HcalBarrel_rmax"/>
       <layer repeat="HcalEndcapNLayer_NRepeat" vis="HcalEndcapVis" >
-	<slice material="Steel235" thickness="HcalSteelThickness" vis="HcalAbsorberVis"/>
-	<slice material="Polystyrene" thickness="0.5*cm" vis="HcalSensorVis" sensitive="yes" limits="cal_limits"/>
+        <slice material="Steel235" thickness="HcalEndcapNSteelThickness" vis="HcalAbsorberVis"/>
+        <slice material="Polystyrene" thickness="HcalEndcapNPolystyreneThickness" vis="HcalSensorVis" sensitive="yes" limits="cal_limits"/>
       </layer>
     </detector>
 
-- 
GitLab