From 1158afc9be5ac0d7f64f533c9d00453aea104d45 Mon Sep 17 00:00:00 2001 From: myliu <201916234@mail.sdu.edu.cn> Date: Thu, 28 Jan 2021 12:58:15 +0800 Subject: [PATCH] Modify the variable name that controls the switch of the drift chamber --- .../CRD_common_v01/DC_Simple_v01_01.xml | 4 +++- Detector/DetDriftChamber/compact/det.xml | 8 +++---- .../src/driftchamber/DriftChamber.cpp | 22 ++++++++++--------- 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/Detector/DetCRD/compact/CRD_common_v01/DC_Simple_v01_01.xml b/Detector/DetCRD/compact/CRD_common_v01/DC_Simple_v01_01.xml index ff4a8745..2f29712a 100644 --- a/Detector/DetCRD/compact/CRD_common_v01/DC_Simple_v01_01.xml +++ b/Detector/DetCRD/compact/CRD_common_v01/DC_Simple_v01_01.xml @@ -44,7 +44,9 @@ <constant name="DC_Endcap_rmax" value="SDT_radius_max"/> <constant name="DC_Endcap_dz" value="DC_Endcap_z"/> - <constant name="DC_num_chamber" value="0"/> + <constant name="DC_inner_chamber_enabled" value="0"/> + <constant name="DC_outer_chamber_enabled" value="0"/> + <constant name="DC_all_chamber_enabled" value="1"/> </define> diff --git a/Detector/DetDriftChamber/compact/det.xml b/Detector/DetDriftChamber/compact/det.xml index f8cffe5c..09dd9725 100644 --- a/Detector/DetDriftChamber/compact/det.xml +++ b/Detector/DetDriftChamber/compact/det.xml @@ -60,11 +60,9 @@ <constant name="DC_Endcap_rmin" value="SDT_radius_min"/> <constant name="DC_Endcap_rmax" value="SDT_radius_max"/> - <!-- Control the number of drift chambers : - 0:inner chamber + outer chamber; - 1:only inner chamber; - 2:only outer chamber; --> - <constant name="DC_num_chamber" value="0"/> + <constant name="DC_inner_chamber_enabled" value="0"/> + <constant name="DC_outer_chamber_enabled" value="0"/> + <constant name="DC_all_chamber_enabled" value="1"/> </define> diff --git a/Detector/DetDriftChamber/src/driftchamber/DriftChamber.cpp b/Detector/DetDriftChamber/src/driftchamber/DriftChamber.cpp index 9961aa08..70d6ce00 100644 --- a/Detector/DetDriftChamber/src/driftchamber/DriftChamber.cpp +++ b/Detector/DetDriftChamber/src/driftchamber/DriftChamber.cpp @@ -63,7 +63,9 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector, double epsilon = theDetector.constant<double>("Epsilon"); // - Control the number of drift chambersr - int num_chamber = theDetector.constant<int>("DC_num_chamber"); + int inner_chamber_enabled = theDetector.constant<int>("DC_inner_chamber_enabled"); + int outer_chamber_enabled = theDetector.constant<int>("DC_outer_chamber_enabled"); + int all_chamber_enabled = theDetector.constant<int>("DC_all_chamber_enabled"); // ======================================================================= // Detector Construction @@ -159,9 +161,9 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector, // - layer double num_layer; - if(num_chamber == 0) num_layer = inner_chamber_layer_number+outer_chamber_layer_number; - else if(num_chamber == 1) num_layer = inner_chamber_layer_number; - else num_layer = outer_chamber_layer_number; + if(all_chamber_enabled) num_layer = inner_chamber_layer_number+outer_chamber_layer_number; + else if(inner_chamber_enabled) num_layer = inner_chamber_layer_number; + else if(outer_chamber_enabled) num_layer = outer_chamber_layer_number; for(int layer_id = 0; layer_id < num_layer; layer_id++) { double rmin,rmax,offset; @@ -169,18 +171,18 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector, dd4hep::Volume* current_vol_ptr = nullptr; dd4hep::Material layer_mat(theDetector.material("GasHe_90Isob_10")); // if( layer_id < inner_chamber_layer_number ) { - if((num_chamber == 0 && layer_id < inner_chamber_layer_number)|| num_chamber ==1 ) { + if((all_chamber_enabled == 1 && layer_id < inner_chamber_layer_number)|| inner_chamber_enabled ==1 ) { current_vol_ptr = &det_inner_chamber_vol; rmin = inner_chamber_radius_min+(layer_id*chamber_layer_width); rmax = rmin+chamber_layer_width; layer_name = det_name+"_inner_chamber_vol"+_toString(layer_id,"_layer%d"); } - if((num_chamber == 0 && layer_id >=inner_chamber_layer_number)|| num_chamber == 2 ) { + if((all_chamber_enabled == 1 && layer_id >=inner_chamber_layer_number)|| outer_chamber_enabled ==1 ) { current_vol_ptr = &det_outer_chamber_vol; - if(num_chamber == 0 && layer_id >= inner_chamber_layer_number) { + if(all_chamber_enabled == 1 && layer_id >= inner_chamber_layer_number) { rmin = outer_chamber_radius_min+((layer_id-inner_chamber_layer_number)*chamber_layer_width); } - else if(num_chamber == 2) rmin = outer_chamber_radius_min+(layer_id*chamber_layer_width); + else if(outer_chamber_enabled == 1) rmin = outer_chamber_radius_min+(layer_id*chamber_layer_width); rmax = rmin+chamber_layer_width; layer_name = det_name+"_outer_chamber_vol"+_toString(layer_id,"_layer%d"); } @@ -244,7 +246,7 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector, // inner dd4hep::Transform3D transform_inner_chamber(dd4hep::Rotation3D(), dd4hep::Position(0,0,0)); - if(num_chamber == 0 || num_chamber ==1) { + if(all_chamber_enabled == 1 || inner_chamber_enabled ==1) { dd4hep::PlacedVolume det_inner_chamber_phy = det_vol.placeVolume(det_inner_chamber_vol, transform_inner_chamber); @@ -253,7 +255,7 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector, // outer dd4hep::Transform3D transform_outer_chamber(dd4hep::Rotation3D(), dd4hep::Position(0,0,0)); - if(num_chamber == 0 || num_chamber == 2) { + if(all_chamber_enabled == 1 || outer_chamber_enabled == 1) { dd4hep::PlacedVolume det_outer_chamber_phy = det_vol.placeVolume(det_outer_chamber_vol, transform_inner_chamber); -- GitLab