From d082648f3f4052b86f6b5a92cbe5d8ed48bd7e15 Mon Sep 17 00:00:00 2001
From: Chengdong Fu <fucd@ihep.ac.cn>
Date: Wed, 8 May 2024 09:42:07 +0800
Subject: [PATCH 1/2] add preliminary EcalEndcap

---
 .../EcalEndcaps_Polyhedra_v01_01.xml          | 30 +++++++++++++++++++
 1 file changed, 30 insertions(+)
 create mode 100644 Detector/DetCRD/compact/CRD_common_v02/EcalEndcaps_Polyhedra_v01_01.xml

diff --git a/Detector/DetCRD/compact/CRD_common_v02/EcalEndcaps_Polyhedra_v01_01.xml b/Detector/DetCRD/compact/CRD_common_v02/EcalEndcaps_Polyhedra_v01_01.xml
new file mode 100644
index 00000000..31431caa
--- /dev/null
+++ b/Detector/DetCRD/compact/CRD_common_v02/EcalEndcaps_Polyhedra_v01_01.xml
@@ -0,0 +1,30 @@
+<lccdd>
+  <define>
+    <constant name="Ecal_endcap_nlayers" value="ecalbarrel_layer"/>
+    <constant name="Ecal_cells_size" value="1*cm"/>
+    <!--constant name="Ecal_endcap_center_box_size" value="Ecal_endcap_inner_radius*2"/-->
+  </define>
+
+  <detectors>
+    <detector name="EcalEndcap" type="DD4hep_PolyhedraEndcapCalorimeter2" id="DetID_ECAL_ENDCAP" readout="EcalEndcapsCollection" vis="SeeThrough">
+      <type_flags type=" DetType_CALORIMETER + DetType_ENDCAP + DetType_ECAL " />
+
+      <dimensions numsides="Ecal_endcap_symmetry" rmin="Ecal_endcap_inner_radius" rmax="Ecal_endcap_outer_radius/cos(pi/Ecal_endcap_symmetry)"
+		  zmin="Ecal_endcap_zmin" />
+      <layer repeat="Ecal_endcap_nlayers" vis="SeeThrough">
+        <slice material="Air"             thickness="0.1*mm"               vis="SeeThrough" />
+        <slice material="G4_BGO"          thickness="10*mm"                vis="ECALVis" />
+        <slice material="Air"             thickness="0.2*mm"               vis="SeeThrough" />
+      </layer>
+    </detector>
+  </detectors>
+  
+  <readouts>
+    <readout name="EcalEndcapsCollection">
+      <segmentation type="CartesianGridXY" grid_size_x="Ecal_cells_size" grid_size_y="Ecal_cells_size" offset_x="Ecal_cells_size/2.0" offset_y="Ecal_cells_size/2.0" />
+      <!--id>system:5,module:3,stave:3,tower:5,layer:6,x:32:-16,y:-16</id-->
+      <id>system:5,side:2,module:3,stave:4,barrel:3,layer:6,slice:4,x:32:-16,y:-16</id>
+    </readout>
+  </readouts>
+  
+</lccdd>
-- 
GitLab


From 4bd8e8bdc8882643ced064ca83aa071c9db9e0ae Mon Sep 17 00:00:00 2001
From: Chengdong Fu <fucd@ihep.ac.cn>
Date: Wed, 12 Jun 2024 16:28:05 +0800
Subject: [PATCH 2/2] switch skew petal to non-skew

---
 .../compact/CRD_common_v02/FTD_SkewRing_v01_05.xml  |  8 ++++----
 .../compact/TDR_o1_v01/TDR_Dimensions_v01_01.xml    | 13 ++++---------
 2 files changed, 8 insertions(+), 13 deletions(-)

diff --git a/Detector/DetCRD/compact/CRD_common_v02/FTD_SkewRing_v01_05.xml b/Detector/DetCRD/compact/CRD_common_v02/FTD_SkewRing_v01_05.xml
index 1cced282..11063c25 100644
--- a/Detector/DetCRD/compact/CRD_common_v02/FTD_SkewRing_v01_05.xml
+++ b/Detector/DetCRD/compact/CRD_common_v02/FTD_SkewRing_v01_05.xml
@@ -18,22 +18,22 @@
       <reconstruction strip_width="0.05*mm" strip_length="92*mm" strip_pitch="0" strip_angle="0"/>
 
       <layer id="0" z="SiTracker_endcap_z1" dz="0.5*ModuleZGap" inner_r="SiTracker_endcap_z1*tan(acos(Global_endcap_costheta))*cos(pi/FTDPetalNumber)" outer_r="SiTracker_endcap_outer_radius1"
-	     skew="acos(Global_endcap_costheta)" phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="FTDPetalNumber" vis="SeeThrough">
+	     skew="0" phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="FTDPetalNumber" vis="SeeThrough">
 	<component material="G4_Si"       thickness="SiliconThickness" vis="FTDSensitiveVis" sensitive="yes"/>
 	<component material="Carbon" thickness="SupportThickness" vis="FTDSupportVis"/>
       </layer>
       <layer id="1" z="SiTracker_endcap_z2" dz="0.5*ModuleZGap" inner_r="SiTracker_endcap_z2*tan(acos(Global_endcap_costheta))*cos(pi/FTDPetalNumber)" outer_r="SiTracker_endcap_outer_radius2"
-	     skew="acos(Global_endcap_costheta)" phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="FTDPetalNumber" vis="SeeThrough">
+	     skew="0" phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="FTDPetalNumber" vis="SeeThrough">
         <component material="G4_Si"       thickness="SiliconThickness" vis="FTDSensitiveVis" sensitive="yes"/>
         <component material="Carbon" thickness="SupportThickness" vis="FTDSupportVis"/>
       </layer>
       <layer id="2" z="SiTracker_endcap_z3" dz="0.5*ModuleZGap" inner_r="SiTracker_endcap_z3*tan(acos(Global_endcap_costheta))*cos(pi/FTDPetalNumber)" outer_r="SiTracker_endcap_outer_radius3"
-	     skew="acos(Global_endcap_costheta)" phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="FTDPetalNumber" vis="SeeThrough">
+	     skew="0" phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="FTDPetalNumber" vis="SeeThrough">
         <component material="G4_Si"       thickness="SiliconThickness" vis="FTDSensitiveVis" sensitive="yes"/>
         <component material="Carbon" thickness="SupportThickness" vis="FTDSupportVis"/>
       </layer>
       <layer id="3" z="SiTracker_endcap_z4" dz="0.5*ModuleZGap" inner_r="SiTracker_endcap_z4*tan(acos(Global_endcap_costheta))*cos(pi/FTDPetalNumber)" outer_r="SiTracker_endcap_outer_radius4"
-	     skew="acos(Global_endcap_costheta)" phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="FTDPetalNumber" vis="SeeThrough">
+	     skew="0" phi0="0" gap="ModuleRPhiGap" is_pixel="true" nmodules="FTDPetalNumber" vis="SeeThrough">
         <component material="G4_Si"       thickness="SiliconThickness" vis="FTDSensitiveVis" sensitive="yes"/>
         <component material="Carbon" thickness="SupportThickness" vis="FTDSupportVis"/>
       </layer>
diff --git a/Detector/DetCRD/compact/TDR_o1_v01/TDR_Dimensions_v01_01.xml b/Detector/DetCRD/compact/TDR_o1_v01/TDR_Dimensions_v01_01.xml
index ac6a3325..9ffa7d74 100644
--- a/Detector/DetCRD/compact/TDR_o1_v01/TDR_Dimensions_v01_01.xml
+++ b/Detector/DetCRD/compact/TDR_o1_v01/TDR_Dimensions_v01_01.xml
@@ -123,16 +123,11 @@
     <constant name="SiTracker_endcap_gas_zgap"    value="2*mm"/>
     <constant name="SiTracker_endcap_gas_rgap"    value="20*mm"/>
     <constant name="SiTracker_endcap_z1" value="Vertex_half_length"/>
-    <constant name="SiTracker_endcap_z2" value="SIT3_half_length/SiTracker_region1_costheta
-						*cos(acos(SiTracker_region1_costheta)-acos(Global_endcap_costheta))*Global_endcap_costheta"/>
-    <constant name="SiTracker_endcap_z3" value="TPC_inner_radius/sin(acos(SiTracker_region2_costheta))
-						*cos(acos(SiTracker_region2_costheta)-acos(Global_endcap_costheta))*Global_endcap_costheta"/>
-    <constant name="SiTracker_endcap_z4" value="TPC_inner_radius/sin(acos(SiTracker_region3_costheta))
-                                                *cos(acos(SiTracker_region3_costheta)-acos(Global_endcap_costheta))*Global_endcap_costheta"/>
+    <constant name="SiTracker_endcap_z2" value="SIT3_half_length+SiTracker_endcap_barrel_zgap"/>
+    <constant name="SiTracker_endcap_z3" value="TPC_inner_radius/tan(acos(SiTracker_region2_costheta))"/>
+    <constant name="SiTracker_endcap_z4" value="TPC_inner_radius/tan(acos(SiTracker_region3_costheta))"/>
     <constant name="SiTracker_endcap_z5" value="TPC_half_length+SiTracker_endcap_gas_zgap"/>
-    <constant name="SiTracker_endcap_outer_radius1" value="SiTracker_endcap_z1/Global_endcap_costheta
-							   /cos(acos(SiTracker_region1_costheta)-acos(Global_endcap_costheta))
-							   *sin(acos(SiTracker_region1_costheta))"/>
+    <constant name="SiTracker_endcap_outer_radius1" value="SiTracker_endcap_z1*tan(acos(SiTracker_region1_costheta))"/>
     <constant name="SiTracker_endcap_outer_radius2" value="SIT3_inner_radius"/>
     <constant name="SiTracker_endcap_outer_radius3" value="TPC_inner_radius-SiTracker_endcap_gas_rgap"/>
     <constant name="SiTracker_endcap_outer_radius4" value="TPC_inner_radius-SiTracker_endcap_gas_rgap"/>
-- 
GitLab