diff --git a/Detector/DetCEPCv4/src/tracker/FTD_Simple_Staggered_geo.cpp b/Detector/DetCEPCv4/src/tracker/FTD_Simple_Staggered_geo.cpp index 648cc222a61c1d0a22468ce4308f90773f24a04e..8a7ae183999e4f0001e408c9ec65107930a07a0b 100644 --- a/Detector/DetCEPCv4/src/tracker/FTD_Simple_Staggered_geo.cpp +++ b/Detector/DetCEPCv4/src/tracker/FTD_Simple_Staggered_geo.cpp @@ -327,7 +327,13 @@ static Ref_t create_element(Detector& theDetector, xml_h e, SensitiveDetector se PlacedVolume pv; - sens.setType("tracker"); + if (x_det.hasAttr(_U(sensitive))) { + xml_dim_t sd_typ = x_det.child(_U(sensitive)); + sens.setType(sd_typ.typeStr()); + } + else { + sens.setType("tracker"); + } // --- create assembly and DetElement for support and service volumes diff --git a/Detector/DetCEPCv4/src/tracker/FTD_cepc_geo.cpp b/Detector/DetCEPCv4/src/tracker/FTD_cepc_geo.cpp index 053371aacf430406f2412e579648971f1d610d50..1515fdd025578ae5ec2b92229b08b040a21a4b2b 100644 --- a/Detector/DetCEPCv4/src/tracker/FTD_cepc_geo.cpp +++ b/Detector/DetCEPCv4/src/tracker/FTD_cepc_geo.cpp @@ -327,7 +327,13 @@ static Ref_t create_element(Detector& theDetector, xml_h e, SensitiveDetector se PlacedVolume pv; - sens.setType("tracker"); + if (x_det.hasAttr(_U(sensitive))) { + xml_dim_t sd_typ = x_det.child(_U(sensitive)); + sens.setType(sd_typ.typeStr()); + } + else { + sens.setType("tracker"); + } // --- create assembly and DetElement for support and service volumes diff --git a/Detector/DetCEPCv4/src/tracker/SET_Simple_Planar_geo.cpp b/Detector/DetCEPCv4/src/tracker/SET_Simple_Planar_geo.cpp index e311fcc923d3470be157a1caf69716dbda8a05b0..390939704a14bb4a0c9e76feef872ee343e27ea3 100644 --- a/Detector/DetCEPCv4/src/tracker/SET_Simple_Planar_geo.cpp +++ b/Detector/DetCEPCv4/src/tracker/SET_Simple_Planar_geo.cpp @@ -77,9 +77,13 @@ static dd4hep::Ref_t create_element(dd4hep::Detector& theDetector, xml_h e, dd4h //PlacedVolume pv; - - sens.setType("tracker"); - + if (x_det.hasAttr(_U(sensitive))) { + xml_dim_t sd_typ = x_det.child(_U(sensitive)); + sens.setType(sd_typ.typeStr()); + } + else { + sens.setType("tracker"); + } dd4hep::rec::ZPlanarData* zPlanarData = new ZPlanarData ; diff --git a/Detector/DetCEPCv4/src/tracker/SIT_Simple_Pixel_geo.cpp b/Detector/DetCEPCv4/src/tracker/SIT_Simple_Pixel_geo.cpp index 51aaaabe534bcf50aac95705ae7b7b4126a3e297..2599359474fca1e8add47298b6b831ec8d7cf3f2 100644 --- a/Detector/DetCEPCv4/src/tracker/SIT_Simple_Pixel_geo.cpp +++ b/Detector/DetCEPCv4/src/tracker/SIT_Simple_Pixel_geo.cpp @@ -84,9 +84,13 @@ static dd4hep::Ref_t create_element(dd4hep::Detector& theDetector, xml_h e, dd4h dd4hep::PlacedVolume pv; - - sens.setType("tracker"); - + if (x_det.hasAttr(_U(sensitive))) { + xml_dim_t sd_typ = x_det.child(_U(sensitive)); + sens.setType(sd_typ.typeStr()); + } + else { + sens.setType("tracker"); + } dd4hep::rec::ZPlanarData* zPlanarData = new dd4hep::rec::ZPlanarData ; diff --git a/Detector/DetCEPCv4/src/tracker/SIT_Simple_Planar_geo.cpp b/Detector/DetCEPCv4/src/tracker/SIT_Simple_Planar_geo.cpp index f76791463b748f9ddc7eeb4db177f8564569af0f..a33d71e676cef6e9b58366c039ea261c0cfa0ebe 100644 --- a/Detector/DetCEPCv4/src/tracker/SIT_Simple_Planar_geo.cpp +++ b/Detector/DetCEPCv4/src/tracker/SIT_Simple_Planar_geo.cpp @@ -84,9 +84,13 @@ static dd4hep::Ref_t create_element(dd4hep::Detector& theDetector, xml_h e, dd4h dd4hep::PlacedVolume pv; - - sens.setType("tracker"); - + if (x_det.hasAttr(_U(sensitive))) { + xml_dim_t sd_typ = x_det.child(_U(sensitive)); + sens.setType(sd_typ.typeStr()); + } + else { + sens.setType("tracker"); + } dd4hep::rec::ZPlanarData* zPlanarData = new dd4hep::rec::ZPlanarData ; diff --git a/Detector/DetCEPCv4/src/tracker/TPC10_geo.cpp b/Detector/DetCEPCv4/src/tracker/TPC10_geo.cpp index 50d28c2e8b9af697bdb7d5ff16e1ea6779c83140..01d7ab0d55a278ac4484387e59a5dcd092c99f3c 100644 --- a/Detector/DetCEPCv4/src/tracker/TPC10_geo.cpp +++ b/Detector/DetCEPCv4/src/tracker/TPC10_geo.cpp @@ -68,7 +68,13 @@ static Ref_t create_element(Detector& theDetector, xml_h e, SensitiveDetector se PlacedVolume pv; - sens.setType("tracker"); + if (x_det.hasAttr(_U(sensitive))) { + xml_dim_t sd_typ = x_det.child(_U(sensitive)); + sens.setType(sd_typ.typeStr()); + } + else { + sens.setType("tracker"); + } std::cout << " ** building TPC10_geo in lcgeo " << lcgeo::versionString() << std::endl ; diff --git a/Detector/DetCEPCv4/src/tracker/VXD04_geo.cpp b/Detector/DetCEPCv4/src/tracker/VXD04_geo.cpp index ae2d4d83c77c14e4552d00c9e0f03bb03c8826f5..6af6456fd2462f4505b91d5ebfef0e5776ee3880 100644 --- a/Detector/DetCEPCv4/src/tracker/VXD04_geo.cpp +++ b/Detector/DetCEPCv4/src/tracker/VXD04_geo.cpp @@ -74,7 +74,13 @@ static Ref_t create_element(Detector& theDetector, xml_h e, SensitiveDetector se //----------------------------------------------------------------------------------- - sens.setType("tracker"); + if (x_det.hasAttr(_U(sensitive))) { + xml_dim_t sd_typ = x_det.child(_U(sensitive)); + sens.setType(sd_typ.typeStr()); + } + else { + sens.setType("tracker"); + } // --- create assembly and DetElement for support and service volumes diff --git a/Detector/DetCRD/src/Tracker/SiTrackerSkewRing_v01_geo.cpp b/Detector/DetCRD/src/Tracker/SiTrackerSkewRing_v01_geo.cpp index 2b16111eb51440d7c702633a557c45ae724fe224..949ca19be3ce74467fbeaa3b24fddaa1f59abbd1 100644 --- a/Detector/DetCRD/src/Tracker/SiTrackerSkewRing_v01_geo.cpp +++ b/Detector/DetCRD/src/Tracker/SiTrackerSkewRing_v01_geo.cpp @@ -66,7 +66,13 @@ 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")); - sens.setType("tracker"); + if (x_det.hasAttr(_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 ; dd4hep::xml::Component recPar = x_det.child(_Unicode(reconstruction)); diff --git a/Detector/DetCRD/src/Tracker/TPC_ModularEndcap_o1_v01.cpp b/Detector/DetCRD/src/Tracker/TPC_ModularEndcap_o1_v01.cpp index 616c7e1accb60baa67112164d64444a1a0c41423..be43764ce9a296872420ff18f17cd1811b51d8a9 100644 --- a/Detector/DetCRD/src/Tracker/TPC_ModularEndcap_o1_v01.cpp +++ b/Detector/DetCRD/src/Tracker/TPC_ModularEndcap_o1_v01.cpp @@ -72,7 +72,13 @@ static Ref_t create_element(Detector& theDetector, xml_h e, SensitiveDetector se PlacedVolume pv; - sens.setType("tracker"); + if (x_det.hasAttr(_U(sensitive))) { + xml_dim_t sd_typ = x_det.child(_U(sensitive)); + sens.setType(sd_typ.typeStr()); + } + else { + sens.setType("tracker"); + } std::cout << " **Lan Lan building TPC_ModularEndcap_TDR_o1_v01 construction" << std::endl ; diff --git a/Detector/DetCRD/src/Tracker/TPC_Simple_o1_v01.cpp b/Detector/DetCRD/src/Tracker/TPC_Simple_o1_v01.cpp index 8dd22ac704176667ccd23f655bc93ecca2c37300..ddbcad4b24996ae831874f6ab4708796806ecaf6 100644 --- a/Detector/DetCRD/src/Tracker/TPC_Simple_o1_v01.cpp +++ b/Detector/DetCRD/src/Tracker/TPC_Simple_o1_v01.cpp @@ -71,7 +71,13 @@ static Ref_t create_element(Detector& theDetector, xml_h e, SensitiveDetector se PlacedVolume pv; - sens.setType("tracker"); + if (x_det.hasAttr(_U(sensitive))) { + xml_dim_t sd_typ = x_det.child(_U(sensitive)); + sens.setType(sd_typ.typeStr()); + } + else { + sens.setType("tracker"); + } std::cout << " **Lan Lan building TPC_Simple_TDR_o1_v01 construction" << std::endl ;