From 6b9cd99c8076088762719e5e8c4a11f573e3e267 Mon Sep 17 00:00:00 2001
From: FU Chengdong <fucd@ihep.ac.cn>
Date: Tue, 18 Jun 2024 08:03:09 +0000
Subject: [PATCH] Geometry update

---
 .../compact/CRD_common_v01/Lumical_o1_v01.xml | 44 +++++++++----------
 .../TDR_o1_v01/TDR_o1_v01-onlyTracker.xml     | 14 +++---
 .../src/Calorimeter/Lumical_v01_geo.cpp       |  2 +-
 3 files changed, 28 insertions(+), 32 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..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="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="LumicalFlangeVis">
                     <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="LumicalFlangeVis">
                     <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="LumicalFlangeVis">
                     <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="LumicalFlangeVis">
                     <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="LumicalFlangeVis">
                     <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="LumicalFlangeVis">
                     <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="LumicalFlangeVis">
                     <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="LumicalFlangeVis">
                     <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="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>
@@ -118,4 +114,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 4768589e..bbfe7dce 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>
@@ -34,9 +33,10 @@
   <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"/>
-  <include ref="../CRD_common_v01/SET_SimplePixel_v01_01.xml"/-->
-  <include ref="./TPC_ModularEndcap_TDR_o1_v01.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>
     <field name="InnerSolenoid" type="solenoid"
            inner_field="Field_nominal_value"
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