From 9264c9134f9d0365e5837fa49d3f06204b180c07 Mon Sep 17 00:00:00 2001 From: "jihee.kim" <jihee.kim@anl.gov> Date: Thu, 1 Apr 2021 23:30:14 -0500 Subject: [PATCH] Added envelop volume --- compact/cb_CTD_Straw.xml | 35 +++++++++++++++++++++++++++++++++++ compact/definitions.xml | 1 + reference_detector.xml | 4 ++++ src/cb_CTD_Straw.cpp | 37 +++++++++++++++++++++++++++++++++++++ 4 files changed, 77 insertions(+) create mode 100644 compact/cb_CTD_Straw.xml create mode 100644 src/cb_CTD_Straw.cpp diff --git a/compact/cb_CTD_Straw.xml b/compact/cb_CTD_Straw.xml new file mode 100644 index 0000000..f77c68a --- /dev/null +++ b/compact/cb_CTD_Straw.xml @@ -0,0 +1,35 @@ +<lccdd> + + <comment> Central Barrel Tracker Straw </comment> + + <define> + </define> + + <limits> + </limits> + + <regions> + </regions> + + <display> + </display> + + <detectors> + <detector id="cb_CTD_Straw_ID" name="cb_CTD_Straw" type="cb_CTD_Straw" readout="cb_CTD_Straw_Hits" vis="cb_CTDVis" insideTrackingVloume="true"> + <dimensions rmin="cb_CTD_rmin" rmax="cb_CTD_rmax" length="cb_CTD_length" zmax="cb_CTD_zmax"/> + </detector> + </detectors> + + <readouts> + <readout name="cb_CTD_Straw_Hits"> + <segmentation type="CartesianGridXY" grid_size_x="1.0*mm" grid_size_y="1.0*mm" /> + <id>system:8,barrel:3,layer:4,x:32:-16,y:-16</id> + </readout> + </readouts> + + <plugins> + </plugins> + + <fields> + </fields> +</lccdd> diff --git a/compact/definitions.xml b/compact/definitions.xml index 70d2b52..174e0ef 100644 --- a/compact/definitions.xml +++ b/compact/definitions.xml @@ -123,6 +123,7 @@ <constant name="SiTrackerEndcapP_Layer5_ID" value="69"/> <constant name="SiTrackerEndcapN_Layer5_ID" value="70"/> + <constant name="cb_CTD_Straw_ID" value="73"/> <constant name="cb_CTD_Si_ID" value="74"/> <comment> diff --git a/reference_detector.xml b/reference_detector.xml index 6d46ffa..f66ffcf 100644 --- a/reference_detector.xml +++ b/reference_detector.xml @@ -114,6 +114,10 @@ <include ref="reference_detector/vertex_tracker.xml"/> <include ref="compact/silicon_tracker.xml"/> --> + <!-- + <include ref="compact/cb_CTD_Si.xml"/> + --> + <include ref="compact/cb_CTD_Straw.xml"/> <include ref="ip6/beampipe.xml"/> <include ref="compact/solenoid.xml"/> <include ref="compact/ecal.xml"/> diff --git a/src/cb_CTD_Straw.cpp b/src/cb_CTD_Straw.cpp new file mode 100644 index 0000000..5f2c249 --- /dev/null +++ b/src/cb_CTD_Straw.cpp @@ -0,0 +1,37 @@ +#include <XML/Helper.h> +////////////////////////////////// +// Central Barrel Tracker Straw +////////////////////////////////// + +using namespace std; +using namespace dd4hep; + +static Ref_t createDetector(Detector& desc, xml_h e, SensitiveDetector sens) +{ + xml_det_t x_det = e; + string detName = x_det.nameStr(); + int detID = x_det.id(); + + xml_dim_t dim = x_det.dimensions(); + double RIn = dim.rmin(); + double ROut = dim.rmax(); + double SizeZ = dim.length(); + double SizeZCut = dim.zmax(); + + Material Vacuum = desc.material("Vacuum"); + + // Create Global Volume + Tube cb_CTD_GVol_Solid(RIn, ROut, SizeZ / 2.0, 0., 360.0 * deg); + Volume detVol("cb_CTD_GVol_Logic", cb_CTD_GVol_Solid, Vacuum); + detVol.setVisAttributes(desc.visAttributes(x_det.visStr())); + + DetElement det(detName, detID); + Volume motherVol = desc.pickMotherVolume(det); + Transform3D tr(RotationZYX(0.0, 0.0, 0.0), Position(0.0, 0.0, 0.0)); + PlacedVolume detPV = motherVol.placeVolume(detVol, tr); + detPV.addPhysVolID("system", detID); + det.setPlacement(detPV); + return det; +} + +DECLARE_DETELEMENT(cb_CTD_Straw, createDetector) -- GitLab