From 6b8393821fe10fac1600530de912d5335ce6c1f5 Mon Sep 17 00:00:00 2001 From: myliu <201916234@mail.sdu.edu.cn> Date: Fri, 22 Jan 2021 11:42:07 +0800 Subject: [PATCH] Modified SDT_half_length and color --- .../CRD_common_v01/DC_Simple_v01_01.xml | 15 ++++++++------ Detector/DetDriftChamber/compact/det.xml | 20 +++++++++++-------- .../src/driftchamber/DriftChamber.cpp | 12 +++++------ 3 files changed, 27 insertions(+), 20 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 b80a2fc1..2a87098f 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 @@ -13,8 +13,12 @@ <define> <constant name="SDT_radius_min" value="InnerTracker_inner_radius"/> <constant name="SDT_radius_max" value="OuterTracker_outer_radius"/> - <constant name="SDT_half_length" value="MainTracker_half_length"/> + + <constant name="DC_Endcap_dz" value="0.1*mm"/> + + <constant name="SDT_half_length" value="MainTracker_half_length+DC_Endcap_dz"/> <constant name="SDT_length" value="SDT_half_length*2"/> + <constant name="DC_length" value="SDT_length-DC_Endcap_dz*2"/> <constant name="SDT_inner_chamber_radius_min" value="235*mm"/> <constant name="SDT_inner_chamber_radius_max" value="InnerTracker_outer_radius"/> @@ -38,9 +42,8 @@ <constant name="SDT_outer_chamber_outer_wall_radius_min" value="1715*mm"/> <constant name="SDT_outer_chamber_outer_wall_radius_max" value="1717.8*mm"/> - <constant name="SDT_Endcap_rmin" value="SDT_radius_min"/> - <constant name="SDT_Endcap_rmax" value="SDT_radius_max"/> - <constant name="SDT_Endcap_dz" value="0.1*mm"/> + <constant name="DC_Endcap_rmin" value="SDT_radius_min"/> + <constant name="DC_Endcap_rmax" value="SDT_radius_max"/> </define> @@ -48,8 +51,8 @@ <detector id="DetID_DC" name="DriftChamber" type="DriftChamber" readout="DriftChamberHitsCollection" vis="BlueVis" sensitive="true" insideTrackingVolume="true"> <envelope vis="SeeThrough"> <shape type="BooleanShape" operation="Union" material="Air"> - <shape type="Tube" rmin="SDT_radius_min" rmax="909*mm" dz="SDT_half_length++SDT_Endcap_dz" /> - <shape type="Tube" rmin="1084.8*mm" rmax="SDT_radius_max" dz="SDT_half_length++SDT_Endcap_dz" /> + <shape type="Tube" rmin="SDT_radius_min" rmax="909*mm" dz="SDT_half_length" /> + <shape type="Tube" rmin="1084.8*mm" rmax="SDT_radius_max" dz="SDT_half_length" /> </shape> </envelope> diff --git a/Detector/DetDriftChamber/compact/det.xml b/Detector/DetDriftChamber/compact/det.xml index b9997bbe..ab79de27 100644 --- a/Detector/DetDriftChamber/compact/det.xml +++ b/Detector/DetDriftChamber/compact/det.xml @@ -28,16 +28,20 @@ <constant name="DetID_DC" value="7"/> <constant name="SDT_radius_min" value="234*mm"/> <constant name="SDT_radius_max" value="1720*mm"/> - <constant name="SDT_half_length" value="2225*mm"/> + + <constant name="DC_Endcap_dz" value="0.1*mm"/> + + <constant name="SDT_half_length" value="2225*mm+DC_Endcap_dz"/> <constant name="SDT_length" value="SDT_half_length*2"/> + <constant name="DC_length" value="SDT_length-DC_Endcap_dz*2"/> <constant name="SDT_inner_chamber_radius_min" value="235*mm"/> <constant name="SDT_inner_chamber_radius_max" value="906*mm"/> - <constant name="SDT_inner_chamber_length" value="SDT_length"/> + <constant name="SDT_inner_chamber_length" value="DC_length"/> <constant name="SDT_outer_chamber_radius_min" value="1085*mm"/> <constant name="SDT_outer_chamber_radius_max" value="1715*mm"/> - <constant name="SDT_outer_chamber_length" value="SDT_length"/> + <constant name="SDT_outer_chamber_length" value="DC_length"/> <constant name="SDT_inner_chamber_layer_number" value="67"/> <constant name="SDT_outer_chamber_layer_number" value="63"/> @@ -53,9 +57,8 @@ <constant name="SDT_outer_chamber_outer_wall_radius_min" value="1715*mm"/> <constant name="SDT_outer_chamber_outer_wall_radius_max" value="1717.8*mm"/> - <constant name="SDT_Endcap_rmin" value="SDT_radius_min"/> - <constant name="SDT_Endcap_rmax" value="SDT_radius_max"/> - <constant name="SDT_Endcap_dz" value="0.1*mm"/> + <constant name="DC_Endcap_rmin" value="SDT_radius_min"/> + <constant name="DC_Endcap_rmax" value="SDT_radius_max"/> </define> @@ -65,6 +68,7 @@ <vis name="VisibleRed" r="1.0" g="0.0" b="0.0" showDaughters="true" visible="true"/> <vis name="VisibleBlue" r="0.0" g="0.0" b="1.0" showDaughters="true" visible="true"/> <vis name="VisibleGreen" alpha="1.0" r="0.0" g="1.0" b="0.0" drawingStyle="solid" lineStyle="solid" showDaughters="true" visible="true"/> + <vis name="YellowVis" alpha="1.0" r="1.0" g="1.0" b="0.0" showDaughters="true" visible="true"/> </display> <regions> @@ -76,8 +80,8 @@ <detector id="7" name="DriftChamber" type="DriftChamber" readout="DriftChamberHitsCollection" vis="VisibleBlue" sensitive="true" region="DriftChamberRegion"> <envelope vis="SeeThrough"> <shape type="BooleanShape" operation="Union" material="Air"> - <shape type="Tube" rmin="SDT_radius_min" rmax="909*mm" dz="SDT_half_length+SDT_Endcap_dz" /> - <shape type="Tube" rmin="1084.8*mm" rmax="SDT_radius_max" dz="SDT_half_length+SDT_Endcap_dz" /> + <shape type="Tube" rmin="SDT_radius_min" rmax="909*mm" dz="SDT_half_length" /> + <shape type="Tube" rmin="1084.8*mm" rmax="SDT_radius_max" dz="SDT_half_length" /> </shape> </envelope> diff --git a/Detector/DetDriftChamber/src/driftchamber/DriftChamber.cpp b/Detector/DetDriftChamber/src/driftchamber/DriftChamber.cpp index 61c48f89..8929e1ed 100644 --- a/Detector/DetDriftChamber/src/driftchamber/DriftChamber.cpp +++ b/Detector/DetDriftChamber/src/driftchamber/DriftChamber.cpp @@ -144,12 +144,12 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector, } // End cap - double Endcap_rmin = theDetector.constant<double>("SDT_Endcap_rmin"); - double Endcap_rmax = theDetector.constant<double>("SDT_Endcap_rmax"); - double Endcap_z = theDetector.constant<double>("SDT_Endcap_dz"); + double Endcap_rmin = theDetector.constant<double>("DC_Endcap_rmin"); + double Endcap_rmax = theDetector.constant<double>("DC_Endcap_rmax"); + double Endcap_z = theDetector.constant<double>("DC_Endcap_dz"); dd4hep::Tube det_Endcap_solid(Endcap_rmin,Endcap_rmax,Endcap_z); dd4hep::Volume det_Endcap_vol(det_name+"Endcap",det_Endcap_solid,det_mat); - det_Endcap_vol.setVisAttributes(theDetector,"VisibleRed"); + det_Endcap_vol.setVisAttributes(theDetector,"YellowVis"); //Initialize the segmentation dd4hep::Readout readout = sd.readout(); @@ -203,7 +203,7 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector, // | | // | F0 F1 F2 F3| // ----------------------- -// if(layer_id == 1|| layer_id == 2 || layer_id ==3) { + if(layer_id == -1) { for(int icell=0; icell< numWire; icell++) { double wire_phi = (icell+0.5)*layer_Phi + offset; // - signal wire @@ -221,7 +221,7 @@ static dd4hep::Ref_t create_detector(dd4hep::Detector& theDetector, Module_phy = layer_vol.placeVolume(Module_vol,transform_Module); } } -// } + } dd4hep::Transform3D transform_layer(dd4hep::Rotation3D(),dd4hep::Position(0.,0.,0.)); dd4hep::PlacedVolume layer_phy = (*current_vol_ptr).placeVolume(layer_vol, transform_layer); -- GitLab