From e7b9acd2064f9a2277646dfab56a8b0ac552c963 Mon Sep 17 00:00:00 2001
From: FU Chengdong <fucd@ihep.ac.cn>
Date: Tue, 16 Jul 2024 13:48:16 +0000
Subject: [PATCH] Geom: fix bug for collection type option

---
 Detector/DetCEPCv4/src/tracker/FTD_Simple_Staggered_geo.cpp   | 2 +-
 Detector/DetCEPCv4/src/tracker/FTD_cepc_geo.cpp               | 2 +-
 Detector/DetCEPCv4/src/tracker/SET_Simple_Planar_geo.cpp      | 2 +-
 Detector/DetCEPCv4/src/tracker/SIT_Simple_Pixel_geo.cpp       | 2 +-
 Detector/DetCEPCv4/src/tracker/SIT_Simple_Planar_geo.cpp      | 2 +-
 Detector/DetCEPCv4/src/tracker/TPC10_geo.cpp                  | 2 +-
 Detector/DetCEPCv4/src/tracker/VXD04_geo.cpp                  | 2 +-
 Detector/DetCRD/src/Tracker/SiTrackerSkewRing_v01_geo.cpp     | 4 ++--
 .../DetCRD/src/Tracker/SiTrackerStaggeredLadder_v01_geo.cpp   | 4 ++--
 Detector/DetCRD/src/Tracker/TPC_ModularEndcap_o1_v01.cpp      | 2 +-
 Detector/DetCRD/src/Tracker/TPC_Simple_o1_v01.cpp             | 2 +-
 11 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/Detector/DetCEPCv4/src/tracker/FTD_Simple_Staggered_geo.cpp b/Detector/DetCEPCv4/src/tracker/FTD_Simple_Staggered_geo.cpp
index 8a7ae183..b1cf2fe6 100644
--- a/Detector/DetCEPCv4/src/tracker/FTD_Simple_Staggered_geo.cpp
+++ b/Detector/DetCEPCv4/src/tracker/FTD_Simple_Staggered_geo.cpp
@@ -327,7 +327,7 @@ static Ref_t create_element(Detector& theDetector, xml_h e, SensitiveDetector se
   
   PlacedVolume pv;
 
-  if (x_det.hasAttr(_U(sensitive))) {
+  if (x_det.hasChild(_U(sensitive))) {
     xml_dim_t sd_typ = x_det.child(_U(sensitive));
     sens.setType(sd_typ.typeStr());
   }
diff --git a/Detector/DetCEPCv4/src/tracker/FTD_cepc_geo.cpp b/Detector/DetCEPCv4/src/tracker/FTD_cepc_geo.cpp
index 1515fdd0..cdc5294c 100644
--- a/Detector/DetCEPCv4/src/tracker/FTD_cepc_geo.cpp
+++ b/Detector/DetCEPCv4/src/tracker/FTD_cepc_geo.cpp
@@ -327,7 +327,7 @@ static Ref_t create_element(Detector& theDetector, xml_h e, SensitiveDetector se
   
   PlacedVolume pv;
 
-  if (x_det.hasAttr(_U(sensitive))) {
+  if (x_det.hasChild(_U(sensitive))) {
     xml_dim_t sd_typ = x_det.child(_U(sensitive));
     sens.setType(sd_typ.typeStr());
   }
diff --git a/Detector/DetCEPCv4/src/tracker/SET_Simple_Planar_geo.cpp b/Detector/DetCEPCv4/src/tracker/SET_Simple_Planar_geo.cpp
index 39093970..154f6653 100644
--- a/Detector/DetCEPCv4/src/tracker/SET_Simple_Planar_geo.cpp
+++ b/Detector/DetCEPCv4/src/tracker/SET_Simple_Planar_geo.cpp
@@ -77,7 +77,7 @@ static dd4hep::Ref_t create_element(dd4hep::Detector& theDetector, xml_h e, dd4h
   
   //PlacedVolume pv;
   
-  if (x_det.hasAttr(_U(sensitive))) {
+  if (x_det.hasChild(_U(sensitive))) {
     xml_dim_t sd_typ = x_det.child(_U(sensitive));
     sens.setType(sd_typ.typeStr());
   }
diff --git a/Detector/DetCEPCv4/src/tracker/SIT_Simple_Pixel_geo.cpp b/Detector/DetCEPCv4/src/tracker/SIT_Simple_Pixel_geo.cpp
index 25993594..347b391b 100644
--- a/Detector/DetCEPCv4/src/tracker/SIT_Simple_Pixel_geo.cpp
+++ b/Detector/DetCEPCv4/src/tracker/SIT_Simple_Pixel_geo.cpp
@@ -84,7 +84,7 @@ static dd4hep::Ref_t create_element(dd4hep::Detector& theDetector, xml_h e, dd4h
   
   dd4hep::PlacedVolume pv;
   
-  if (x_det.hasAttr(_U(sensitive))) {
+  if (x_det.hasChild(_U(sensitive))) {
     xml_dim_t sd_typ = x_det.child(_U(sensitive));
     sens.setType(sd_typ.typeStr());
   }
diff --git a/Detector/DetCEPCv4/src/tracker/SIT_Simple_Planar_geo.cpp b/Detector/DetCEPCv4/src/tracker/SIT_Simple_Planar_geo.cpp
index a33d71e6..94045185 100644
--- a/Detector/DetCEPCv4/src/tracker/SIT_Simple_Planar_geo.cpp
+++ b/Detector/DetCEPCv4/src/tracker/SIT_Simple_Planar_geo.cpp
@@ -84,7 +84,7 @@ static dd4hep::Ref_t create_element(dd4hep::Detector& theDetector, xml_h e, dd4h
   
   dd4hep::PlacedVolume pv;
   
-  if (x_det.hasAttr(_U(sensitive))) {
+  if (x_det.hasChild(_U(sensitive))) {
     xml_dim_t sd_typ = x_det.child(_U(sensitive));
     sens.setType(sd_typ.typeStr());
   }
diff --git a/Detector/DetCEPCv4/src/tracker/TPC10_geo.cpp b/Detector/DetCEPCv4/src/tracker/TPC10_geo.cpp
index 01d7ab0d..4e5ee8a9 100644
--- a/Detector/DetCEPCv4/src/tracker/TPC10_geo.cpp
+++ b/Detector/DetCEPCv4/src/tracker/TPC10_geo.cpp
@@ -68,7 +68,7 @@ static Ref_t create_element(Detector& theDetector, xml_h e, SensitiveDetector se
 
   PlacedVolume pv;  
 
-  if (x_det.hasAttr(_U(sensitive))) {
+  if (x_det.hasChild(_U(sensitive))) {
     xml_dim_t sd_typ = x_det.child(_U(sensitive));
     sens.setType(sd_typ.typeStr());
   }
diff --git a/Detector/DetCEPCv4/src/tracker/VXD04_geo.cpp b/Detector/DetCEPCv4/src/tracker/VXD04_geo.cpp
index 6af6456f..929822dd 100644
--- a/Detector/DetCEPCv4/src/tracker/VXD04_geo.cpp
+++ b/Detector/DetCEPCv4/src/tracker/VXD04_geo.cpp
@@ -74,7 +74,7 @@ static Ref_t create_element(Detector& theDetector, xml_h e, SensitiveDetector se
 
   //-----------------------------------------------------------------------------------
 
-  if (x_det.hasAttr(_U(sensitive))) {
+  if (x_det.hasChild(_U(sensitive))) {
     xml_dim_t sd_typ = x_det.child(_U(sensitive));
     sens.setType(sd_typ.typeStr());
   }
diff --git a/Detector/DetCRD/src/Tracker/SiTrackerSkewRing_v01_geo.cpp b/Detector/DetCRD/src/Tracker/SiTrackerSkewRing_v01_geo.cpp
index 949ca19b..2cbd8bce 100644
--- a/Detector/DetCRD/src/Tracker/SiTrackerSkewRing_v01_geo.cpp
+++ b/Detector/DetCRD/src/Tracker/SiTrackerSkewRing_v01_geo.cpp
@@ -66,14 +66,14 @@ static dd4hep::Ref_t create_detector(Detector& description, xml_h e, SensitiveDe
   if(description.buildType()==dd4hep::BUILD_ENVELOPE) return tracker;
   envelope.setVisAttributes(description.visAttributes("SeeThrough"));
 
-  if (x_det.hasAttr(_U(sensitive))) {
+  if (x_det.hasChild(_U(sensitive))) {
     xml_dim_t sd_typ = x_det.child(_U(sensitive));
     sens.setType(sd_typ.typeStr());
   }
   else {
     sens.setType("tracker");
   }
-  std::cout << " ** building SiTrackerEndcapRing_v01 ..." << std::endl ;
+  std::cout << " ** building SiTrackerSkewRing_v01 ... " << sens.type() << std::endl ;
 
   dd4hep::xml::Component recPar = x_det.child(_Unicode(reconstruction));
   const double strip_width  = recPar.attr< double >(_Unicode(strip_width));
diff --git a/Detector/DetCRD/src/Tracker/SiTrackerStaggeredLadder_v01_geo.cpp b/Detector/DetCRD/src/Tracker/SiTrackerStaggeredLadder_v01_geo.cpp
index 895ca4aa..b47bfc93 100644
--- a/Detector/DetCRD/src/Tracker/SiTrackerStaggeredLadder_v01_geo.cpp
+++ b/Detector/DetCRD/src/Tracker/SiTrackerStaggeredLadder_v01_geo.cpp
@@ -77,14 +77,14 @@ static dd4hep::Ref_t create_element(dd4hep::Detector& theDetector, xml_h e, dd4h
   if(theDetector.buildType()==dd4hep::BUILD_ENVELOPE) return vxd;
   envelope.setVisAttributes(theDetector.visAttributes("SeeThrough"));
 
-  if (x_det.hasAttr(_U(sensitive))) {
+  if (x_det.hasChild(_U(sensitive))) {
     xml_dim_t sd_typ = x_det.child(_U(sensitive));
     sens.setType(sd_typ.typeStr());
   }
   else {
     sens.setType("tracker");
   }
-  std::cout << " ** building SiTrackerSkewBarrel_v01 ..." << std::endl ;
+  std::cout << " ** building SiTrackerSkewBarrel_v01 ... " << sens.type() << std::endl ;
 
   dd4hep::rec::ZPlanarData* zPlanarData = new dd4hep::rec::ZPlanarData;
 
diff --git a/Detector/DetCRD/src/Tracker/TPC_ModularEndcap_o1_v01.cpp b/Detector/DetCRD/src/Tracker/TPC_ModularEndcap_o1_v01.cpp
index be43764c..d6fc4283 100644
--- a/Detector/DetCRD/src/Tracker/TPC_ModularEndcap_o1_v01.cpp
+++ b/Detector/DetCRD/src/Tracker/TPC_ModularEndcap_o1_v01.cpp
@@ -72,7 +72,7 @@ static Ref_t create_element(Detector& theDetector, xml_h e, SensitiveDetector se
 
     PlacedVolume pv;  
 
-    if (x_det.hasAttr(_U(sensitive))) {
+    if (x_det.hasChild(_U(sensitive))) {
       xml_dim_t sd_typ = x_det.child(_U(sensitive));
       sens.setType(sd_typ.typeStr());
     }
diff --git a/Detector/DetCRD/src/Tracker/TPC_Simple_o1_v01.cpp b/Detector/DetCRD/src/Tracker/TPC_Simple_o1_v01.cpp
index ddbcad4b..4a9b7619 100644
--- a/Detector/DetCRD/src/Tracker/TPC_Simple_o1_v01.cpp
+++ b/Detector/DetCRD/src/Tracker/TPC_Simple_o1_v01.cpp
@@ -71,7 +71,7 @@ static Ref_t create_element(Detector& theDetector, xml_h e, SensitiveDetector se
 
     PlacedVolume pv;  
 
-    if (x_det.hasAttr(_U(sensitive))) {
+    if (x_det.hasChild(_U(sensitive))) {
       xml_dim_t sd_typ = x_det.child(_U(sensitive));
       sens.setType(sd_typ.typeStr());
     }
-- 
GitLab