Skip to content
Snippets Groups Projects
Commit 1158afc9 authored by myliu@ihep.ac.cn's avatar myliu@ihep.ac.cn
Browse files

Modify the variable name that controls the switch of the drift chamber

parent 9401ab63
No related branches found
No related tags found
No related merge requests found
......@@ -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>
......
......@@ -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>
......
......@@ -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);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment