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/6] 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 024a80c184f46c18ba23f39e4fb0051bb2500751 Mon Sep 17 00:00:00 2001
From: Chengdong Fu <fucd@ihep.ac.cn>
Date: Mon, 17 Jun 2024 11:36:48 +0800
Subject: [PATCH 2/6] fix

---
 .../compact/CRD_common_v01/Lumical_o1_v01.xml | 20 +++++++++----------
 .../TDR_o1_v01/TDR_o1_v01-onlyTracker.xml     |  9 ++++-----
 2 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/Detector/DetCRD/compact/CRD_common_v01/Lumical_o1_v01.xml b/Detector/DetCRD/compact/CRD_common_v01/Lumical_o1_v01.xml
index cd5109cb..e261b0f2 100644
--- a/Detector/DetCRD/compact/CRD_common_v01/Lumical_o1_v01.xml
+++ b/Detector/DetCRD/compact/CRD_common_v01/Lumical_o1_v01.xml
@@ -48,31 +48,31 @@
                 </slice>
             </layer>
             <layer name = "Flange">
-                <slice type="Tubs" rmin="17.5*mm" rmax="100*mm" z="30*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
+                <slice type="Tubs" rmin="18.2*mm" rmax="100*mm" z="30*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
                     <position x="0" y="0*mm" z="685*mm"/>
                 </slice>
-                <slice type="Tubs" rmin="17.5*mm" rmax="95*mm" z="20*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
+                <slice type="Tubs" rmin="19.5*mm" rmax="95*mm" z="20*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
                     <position x="0" y="0*mm" z="710*mm"/>
                 </slice>
-                <slice type="Tubs" rmin="17.5*mm" rmax="98*mm" z="20*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
+                <slice type="Tubs" rmin="19.5*mm" rmax="98*mm" z="20*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
                     <position x="0" y="0*mm" z="730*mm"/>
                 </slice>
-                <slice type="Tubs" rmin="17.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
+                <slice type="Tubs" rmin="19.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
                     <position x="0" y="0*mm" z="750*mm"/>
                 </slice>
-                <slice type="Tubs" rmin="17.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
+                <slice type="Tubs" rmin="19.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
                     <position x="0" y="0*mm" z="755*mm"/>
                 </slice>
-                <slice type="Tubs" rmin="17.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
+                <slice type="Tubs" rmin="19.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
                     <position x="0" y="0*mm" z="760*mm"/>
                 </slice>
-                <slice type="Tubs" rmin="17.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
+                <slice type="Tubs" rmin="19.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
                     <position x="0" y="0*mm" z="765*mm"/>
                 </slice>
-                <slice type="Tubs" rmin="17.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
+                <slice type="Tubs" rmin="19.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
                     <position x="0" y="0*mm" z="770*mm"/>
                 </slice>
-                <slice type="Tubs" rmin="17.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
+                <slice type="Tubs" rmin="19.5*mm" rmax="90*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
                     <position x="0" y="0*mm" z="775*mm"/>
                 </slice>
             </layer>
@@ -118,4 +118,4 @@
     </readout>
   </readouts>
 
-</lccdd>
\ No newline at end of file
+</lccdd>
diff --git a/Detector/DetCRD/compact/TDR_o1_v01/TDR_o1_v01-onlyTracker.xml b/Detector/DetCRD/compact/TDR_o1_v01/TDR_o1_v01-onlyTracker.xml
index 18e6abf0..c6202d57 100644
--- a/Detector/DetCRD/compact/TDR_o1_v01/TDR_o1_v01-onlyTracker.xml
+++ b/Detector/DetCRD/compact/TDR_o1_v01/TDR_o1_v01-onlyTracker.xml
@@ -17,10 +17,9 @@
   </includes>
   
   <define>
-    <constant name="world_size" value="10*m"/>
-    <constant name="world_x" value="world_size"/>
-    <constant name="world_y" value="world_size"/>
-    <constant name="world_z" value="world_size"/>
+    <constant name="world_x" value="1.9*m"/>
+    <constant name="world_y" value="1.9*m"/>
+    <constant name="world_z" value="3.0*m"/>
 
     <include ref="${DD4hepINSTALL}/DDDetectors/compact/detector_types.xml"/>
   </define>
@@ -35,7 +34,7 @@
   <include ref="../CRD_common_v02/SIT_SimplePixel_v01_03.xml"/>
   <include ref="../CRD_common_v01/TPC_Simple_v10_02.xml"/>
   <include ref="../CRD_common_v01/SET_SimplePixel_v01_01.xml"/>
-  
+
   <fields>
     <field name="InnerSolenoid" type="solenoid"
            inner_field="Field_nominal_value"
-- 
GitLab


From d556147e10f749d38547e9ed8f2fc9cf6e46eea3 Mon Sep 17 00:00:00 2001
From: Chengdong Fu <fucd@ihep.ac.cn>
Date: Tue, 18 Jun 2024 14:52:01 +0800
Subject: [PATCH 3/6] fix unit by Xingyang

---
 Detector/DetCRD/src/Calorimeter/Lumical_v01_geo.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Detector/DetCRD/src/Calorimeter/Lumical_v01_geo.cpp b/Detector/DetCRD/src/Calorimeter/Lumical_v01_geo.cpp
index 7c5a851c..9c72bcdc 100644
--- a/Detector/DetCRD/src/Calorimeter/Lumical_v01_geo.cpp
+++ b/Detector/DetCRD/src/Calorimeter/Lumical_v01_geo.cpp
@@ -288,7 +288,7 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s
             cellSizeVector = seg.segmentation()->cellDimensions( encoder.getValue() ); 
             int num = 0;//calculate the number of crystals allowed to be placed in each line
             crystal_id=0;//stand for the id of LYSO crystals
-            double yc = 12.0 + dy * (i + 1);
+            double yc = 12.0 + dy / mm * (i + 1);
             double xc = dx / mm;
             num = (int) 2 * ((std::sqrt(56 * 56 - yc * yc) / xc) - 1);
           
-- 
GitLab


From 13fa36ff259466da68d09581a877a031ef3a1a1a Mon Sep 17 00:00:00 2001
From: Chengdong Fu <fucd@ihep.ac.cn>
Date: Tue, 18 Jun 2024 15:28:04 +0800
Subject: [PATCH 4/6] add prefix for vis

---
 .../compact/CRD_common_v01/Lumical_o1_v01.xml | 42 +++++++++----------
 1 file changed, 19 insertions(+), 23 deletions(-)

diff --git a/Detector/DetCRD/compact/CRD_common_v01/Lumical_o1_v01.xml b/Detector/DetCRD/compact/CRD_common_v01/Lumical_o1_v01.xml
index e261b0f2..e5af7cd1 100644
--- a/Detector/DetCRD/compact/CRD_common_v01/Lumical_o1_v01.xml
+++ b/Detector/DetCRD/compact/CRD_common_v01/Lumical_o1_v01.xml
@@ -7,18 +7,14 @@
     </define>
 
   <display>
-    <vis name="SeeThroughit"       alpha="0.0" r="0.0" g="0.0"  b="0.0"   showDaughters="true"  visible="false"/>
-    <vis name="Gray_Vis"          alpha="1.0" r="0.5" g="0.5"  b="0.5"   showDaughters="true"  visible="true"/>
-    <vis name="DiskVis"          alpha="1.0" r="0" g="0.5"  b="0.5"   showDaughters="true"  visible="true"/>
-    <vis name="beamVis_Al"          alpha="1.0" r="1.0" g="1"  b="1.0"   showDaughters="true"  visible="true"/>
-    <vis name="beamVis_Be"          alpha="1.0" r="0" g="1"  b="0"   showDaughters="true"  visible="true"/>
-    <vis name="FlangeVis"           alpha="1.0" r="1.0" g="1.0" b="1.0" showDaughters="true" visible="true"/>
-    <vis name="CuVis"               alpha="1.0" r="1.0" g="1.0" b="0" showDaughters="true" visible="true"/>
+    <vis name="LumicalDiskVis"     alpha="1.0" r="0" g="0.5"  b="0.5"  showDaughters="true"  visible="true"/>
+    <vis name="LumicalFlangeVis"   alpha="1.0" r="1.0" g="1.0" b="1.0" showDaughters="true" visible="true"/>
+    <vis name="LumicalCuVis"       alpha="1.0" r="1.0" g="1.0" b="0"   showDaughters="true" visible="true"/>
   </display>
 
 
     <detectors>
-        <detector name="Lumical" id="DetID_LCAL" type="Lumical_v01" readout="LumicalCollection" vis="SeeThroughit" insideTrackingVolume="false">
+        <detector name="Lumical" id="DetID_LCAL" type="Lumical_v01" readout="LumicalCollection" vis="SeeThrough" insideTrackingVolume="false">
             <envelope> 
                 <shape type = "Assembly"/>
             </envelope>
@@ -32,58 +28,58 @@
             <subsegmentation key="module" value="5"/>
             
             <layer name = "Disk_Si_1st">
-                <slice type = "Box" dx = "12*mm" dy="29.5*mm" dz = "6*mm" material = "G4_Si" vis="DiskVis" sensitive="yes" limits="5*mm">
+                <slice type = "Box" dx = "12*mm" dy="29.5*mm" dz = "6*mm" material = "G4_Si" vis="LumicalDiskVis" sensitive="yes" limits="5*mm">
                     <position x="0" y="26.75*mm" z="560*mm"/>
                 </slice>
-                <slice type="Tubs" rmin="0" rmax="29.5*mm" z="6*mm" phi1="0*deg" phi2="90*deg" material="G4_Si" vis="DiskVis" sensitive="yes" limits="5*mm">
+                <slice type="Tubs" rmin="0" rmax="29.5*mm" z="6*mm" phi1="0*deg" phi2="90*deg" material="G4_Si" vis="LumicalDiskVis" sensitive="yes" limits="5*mm">
                     <position x="6*mm" y="12*mm" z="560*mm"/>
                 </slice>
             </layer>
             <layer name = "Disk_Si_2nd">
-                <slice type ="Box" dx = "24*mm" dy="39*mm" dz = "7.263*mm" material = "G4_Si" vis="DiskVis" sensitive="yes" limits="5*mm">
+                <slice type ="Box" dx = "24*mm" dy="39*mm" dz = "7.263*mm" material = "G4_Si" vis="LumicalDiskVis" sensitive="yes" limits="5*mm">
                     <position x="0" y="31.5*mm" z="640*mm"/>
                 </slice>
-                <slice type="Tubs" rmin="0" rmax="39*mm" z="6*mm" phi1="0*deg" phi2="90*deg" material="G4_Si" vis="DiskVis" sensitive="yes" limits="5*mm">
+                <slice type="Tubs" rmin="0" rmax="39*mm" z="6*mm" phi1="0*deg" phi2="90*deg" material="G4_Si" vis="LumicalDiskVis" sensitive="yes" limits="5*mm">
                     <position x="12*mm" y="12*mm" z="640*mm"/>
                 </slice>
             </layer>
             <layer name = "Flange">
-                <slice type="Tubs" rmin="18.2*mm" rmax="100*mm" z="30*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
+                <slice type="Tubs" rmin="18.2*mm" rmax="100*mm" z="30*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="LumicalFlangeVis">
                     <position x="0" y="0*mm" z="685*mm"/>
                 </slice>
-                <slice type="Tubs" rmin="19.5*mm" rmax="95*mm" z="20*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
+                <slice type="Tubs" rmin="19.5*mm" rmax="95*mm" z="20*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="LumicalFlangeVis">
                     <position x="0" y="0*mm" z="710*mm"/>
                 </slice>
-                <slice type="Tubs" rmin="19.5*mm" rmax="98*mm" z="20*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
+                <slice type="Tubs" rmin="19.5*mm" rmax="98*mm" z="20*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="LumicalFlangeVis">
                     <position x="0" y="0*mm" z="730*mm"/>
                 </slice>
-                <slice type="Tubs" rmin="19.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
+                <slice type="Tubs" rmin="19.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="LumicalFlangeVis">
                     <position x="0" y="0*mm" z="750*mm"/>
                 </slice>
-                <slice type="Tubs" rmin="19.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
+                <slice type="Tubs" rmin="19.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="LumicalFlangeVis">
                     <position x="0" y="0*mm" z="755*mm"/>
                 </slice>
-                <slice type="Tubs" rmin="19.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
+                <slice type="Tubs" rmin="19.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="LumicalFlangeVis">
                     <position x="0" y="0*mm" z="760*mm"/>
                 </slice>
-                <slice type="Tubs" rmin="19.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
+                <slice type="Tubs" rmin="19.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="LumicalFlangeVis">
                     <position x="0" y="0*mm" z="765*mm"/>
                 </slice>
-                <slice type="Tubs" rmin="19.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
+                <slice type="Tubs" rmin="19.5*mm" rmax="95*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="LumicalFlangeVis">
                     <position x="0" y="0*mm" z="770*mm"/>
                 </slice>
-                <slice type="Tubs" rmin="19.5*mm" rmax="90*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="FlangeVis">
+                <slice type="Tubs" rmin="19.5*mm" rmax="90*mm" z="1*mm" phi1="0*deg" phi2="360*deg" material="stainless_steel" vis="LumicalFlangeVis">
                     <position x="0" y="0*mm" z="775*mm"/>
                 </slice>
             </layer>
             <layer name = "LYSO_1st">
-                <slice  dx="3*mm" dy="3*mm" dz="23*mm" material="LYSO" vis="Gray_Vis" sensitive="yes" limits="5*mm">
+                <slice  dx="3*mm" dy="3*mm" dz="23*mm" material="LYSO" vis="GrayVis" sensitive="yes" limits="5*mm">
 	            <position x="0" y="-12*mm" z="658.5*mm"/>
 	            <rotation x="0" y="0" z="0" />
                 </slice>
             </layer>
             <layer name = "LYSO_2nd">
-                <slice  dx="10*mm" dy="10*mm" dz="200*mm" material="LYSO" vis="Gray_Vis" sensitive="yes" limits="5*mm">
+                <slice  dx="10*mm" dy="10*mm" dz="200*mm" material="LYSO" vis="GrayVis" sensitive="yes" limits="5*mm">
 	            <position x="0" y="-12*mm" z="1000*mm"/>
 	            <rotation x="0" y="0" z="0" />
                 </slice>
-- 
GitLab


From 77d71387f7a82d1277e7b1c8ba5fd29ca7b8b84d Mon Sep 17 00:00:00 2001
From: Chengdong Fu <fucd@ihep.ac.cn>
Date: Tue, 18 Jun 2024 15:32:52 +0800
Subject: [PATCH 5/6] add new TPC, but not used preliminary

---
 Detector/DetCRD/compact/TDR_o1_v01/TDR_o1_v01-onlyTracker.xml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Detector/DetCRD/compact/TDR_o1_v01/TDR_o1_v01-onlyTracker.xml b/Detector/DetCRD/compact/TDR_o1_v01/TDR_o1_v01-onlyTracker.xml
index c6202d57..d73b1dcb 100644
--- a/Detector/DetCRD/compact/TDR_o1_v01/TDR_o1_v01-onlyTracker.xml
+++ b/Detector/DetCRD/compact/TDR_o1_v01/TDR_o1_v01-onlyTracker.xml
@@ -33,6 +33,8 @@
   <include ref="../CRD_common_v02/FTD_SkewRing_v01_05.xml"/>
   <include ref="../CRD_common_v02/SIT_SimplePixel_v01_03.xml"/>
   <include ref="../CRD_common_v01/TPC_Simple_v10_02.xml"/>
+  <!--prepare for update, need check first-->
+  <include ref="../CRD_common_v02/TPC_ModularEndcap_o1_v01.xml"/>
   <include ref="../CRD_common_v01/SET_SimplePixel_v01_01.xml"/>
 
   <fields>
-- 
GitLab


From 394ea3485942aec5aca46c7e84d59781a37ab20e Mon Sep 17 00:00:00 2001
From: Chengdong Fu <fucd@ihep.ac.cn>
Date: Tue, 18 Jun 2024 15:35:29 +0800
Subject: [PATCH 6/6] add new TPC, but not used preliminary

---
 Detector/DetCRD/compact/TDR_o1_v01/TDR_o1_v01-onlyTracker.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Detector/DetCRD/compact/TDR_o1_v01/TDR_o1_v01-onlyTracker.xml b/Detector/DetCRD/compact/TDR_o1_v01/TDR_o1_v01-onlyTracker.xml
index d73b1dcb..355f336d 100644
--- a/Detector/DetCRD/compact/TDR_o1_v01/TDR_o1_v01-onlyTracker.xml
+++ b/Detector/DetCRD/compact/TDR_o1_v01/TDR_o1_v01-onlyTracker.xml
@@ -34,7 +34,7 @@
   <include ref="../CRD_common_v02/SIT_SimplePixel_v01_03.xml"/>
   <include ref="../CRD_common_v01/TPC_Simple_v10_02.xml"/>
   <!--prepare for update, need check first-->
-  <include ref="../CRD_common_v02/TPC_ModularEndcap_o1_v01.xml"/>
+  <!--include ref="../CRD_common_v02/TPC_ModularEndcap_o1_v01.xml"/-->
   <include ref="../CRD_common_v01/SET_SimplePixel_v01_01.xml"/>
 
   <fields>
-- 
GitLab