Skip to content

Commit

Permalink
Modified the LYSO target design
Browse files Browse the repository at this point in the history
  • Loading branch information
zwl0331 committed Nov 25, 2024
1 parent 96f6980 commit 25c3406
Show file tree
Hide file tree
Showing 3 changed files with 118 additions and 44 deletions.
55 changes: 48 additions & 7 deletions Detectors/data/ldmx-lyso-r1-v14-8gev/constants.gdml
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,48 @@
<!--
Target
-->
<!-- position -->
<constant name="target_z" value="0.0*mm" />
<!-- LYSO X0 = 1.10 cm. Target thickeness = .1X0 -->
<constant name="target_thickness" value="1.1*mm"/>

<!-- Target dimensions -->
<constant name="target_dim_x" value="4.0*cm" />
<constant name="target_dim_y" value="10.0*cm" />

<!-- target bar-->
<constant name="target_bar_dx" value="40" />
<constant name="target_bar_dy" value="3.0" />
<constant name="target_bar_thickness" value="0.6" />
<constant name="target_bar_gap" value="0.14" />

<!-- target array1-->
<constant name="number_of_target_bars1" value="32" />
<constant name="target_array1_dx" value="target_bar_dx" />
<constant name="target_array1_dy" value="number_of_target_bars1 * target_bar_dy + (number_of_target_bars1 - 1) * target_bar_gap" />
<constant name="target_array1_thickness" value="target_bar_thickness" />

<!-- target array2-->
<constant name="number_of_target_bars2" value="33" />
<constant name="target_array2_dx" value="target_bar_dx" />
<constant name="target_array2_dy" value="number_of_target_bars2 * target_bar_dy + (number_of_target_bars2 - 1) * target_bar_gap" />
<constant name="target_array2_thickness" value="target_bar_thickness" />

<!-- target box-->
<constant name="target_dim_x" value="target_bar_dx" />
<constant name="target_dim_y" value="target_array2_dy" />
<constant name="target_thickness" value="2*target_bar_thickness + target_bar_gap" />

<!-- Target positions -->

<!-- target array1-->
<constant name="target_array1_first_bar_y" value="-(number_of_target_bars1 - 1) * (target_bar_dy + target_bar_gap) / 2" />
<constant name="target_array1_x" value="0" />
<constant name="target_array1_y" value="0" />
<constant name="target_array1_z" value="-(target_bar_thickness + target_bar_gap) / 2" />

<!-- target array2-->
<constant name="target_array2_first_bar_y" value="-(number_of_target_bars2 - 1) * (target_bar_dy + target_bar_gap) / 2" />
<constant name="target_array2_x" value="0" />
<constant name="target_array2_y" value="0" />
<constant name="target_array2_z" value="(target_bar_thickness + target_bar_gap) / 2" />

<!-- target box-->
<constant name="target_z" value="0.0*mm" />

<!--
Magnet
Expand All @@ -37,6 +72,7 @@

<!-- Trigger scintillator positions -->

<constant name="trigger_gap_with_target" value="0.93*mm" />
<constant name="trigger_pad_thickness" value="4.5*mm" />
<constant name="trigger_pad_bar_thickness" value="2*mm" />
<constant name="trigger_pad_bar_gap" value="0.3*mm" />
Expand All @@ -57,14 +93,19 @@
<constant name="trigger_pad2_z"
value="-(trigger_pad_thickness/2) - clearance" />
<constant name="trigger_pad3_z"
value="target_z - (target_thickness/2) - (trigger_pad_thickness/2) - clearance" />
value="target_z - (target_thickness/2) - (trigger_pad_thickness/2) - trigger_gap_with_target - clearance" />

<!-- Parent volume dimensions -->
<constant name="trig_scint_area_envelope_x" value="magnet_gap_dx - 5" />
<constant name="trig_scint_area_envelope_y" value="magnet_gap_dy - 5" />
<constant name="trig_scint_area_envelope_z"
value="-trigger_pad1_z + trigger_pad_thickness + 2*clearance"/>

<!-- target_area_box-->
<constant name="target_area_envelope_x" value="target_array2_dx" />
<constant name="target_area_envelope_y" value="target_array2_dy" />
<constant name="target_area_envelope_z" value="2 * (target_thickness/2 + trigger_gap_with_target + trigger_pad_thickness)" />

<!--
Tracker common variables
-->
Expand Down
9 changes: 8 additions & 1 deletion Detectors/data/ldmx-lyso-r1-v14-8gev/materials.gdml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,14 @@
</element>
<element Z="74" formula="W" name="W">
<atom type="A" unit="g/mol" value="183.842"/>
</element>
</element>
<element Z="71" formula="Lu" name="Lu">
<atom type="A" unit="g/mol" value="174.967"/>
</element>
<element Z="39" formula="Y" name="Y">
<atom type="A" unit="g/mol" value="88.90585"/>
</element>


<material name="Air" state="gas">
<MEE unit="eV" value="85.643664635028"/>
Expand Down
98 changes: 62 additions & 36 deletions Detectors/data/ldmx-lyso-r1-v14-8gev/target.gdml
Original file line number Diff line number Diff line change
@@ -1,49 +1,46 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE gdml [
<!ENTITY constants SYSTEM "constants.gdml">
<!ENTITY materials SYSTEM "materials.gdml">
]>
<gdml xmlns:gdml="http://cern.ch/2001/Schemas/GDML"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://service-spi.web.cern.ch/service-spi/app/releases/GDML/schema/gdml.xsd" >

<define>

&constants;

<variable name="x" value="1"/>
&constants;

<!-- Parent volume dimensions -->
<constant name="target_area_envelope_x" value="magnet_gap_dx - 5" />
<constant name="target_area_envelope_y" value="magnet_gap_dy - 5" />
<constant name="target_area_envelope_z" value="2*(target_thickness/2 + 2*clearance + trigger_pad_thickness)" />
<!--loop variables-->
<variable name="x" value="1" />

</define>

<solids>
<!-- LYSO target -->
<box lunit="mm" name="target_bar" x="target_bar_dx" y="target_bar_dy" z="target_bar_thickness"/>
<box lunit="mm" name="target_array1" x="target_array1_dx" y="target_array1_dy" z="target_array1_thickness"/>
<box lunit="mm" name="target_array2" x="target_array2_dx" y="target_array2_dy" z="target_array2_thickness"/>
<box lunit="mm" name="target_box" x="target_dim_x" y="target_dim_y" z="target_thickness"/>

<box lunit="mm" name="target_area_box" x="target_area_envelope_x" y="target_area_envelope_y" z="target_area_envelope_z" />
<box lunit="mm" name="target_box" x="target_dim_x" y="target_dim_y" z="target_thickness"/>
<!-- Trigger Scintillator -->
<box lunit="mm" name="trigger_bar_box" x="trigger_bar_dx" y="trigger_bar_dy" z="trigger_pad_bar_thickness" />

<box lunit="mm" name="target_area_box" x="target_area_envelope_x" y="target_area_envelope_y" z="target_area_envelope_z" />


</solids>

<materials>

<material name="Vacuum" state="gas">
&materials;

<material name="Vacuum" state="gas">
<MEE unit="eV" value="19.2"/>
<D unit="g/cm3" value="9.99999473841014e-09"/>
<fraction n="1" ref="H"/>
</material>

<!-- Target -->
<material name="Tungsten" state="solid">
<MEE unit="eV" value="727"/>
<D unit="g/cm3" value="19.2999898451316"/>
<fraction n="1" ref="W"/>
</material>


<!-- Scintillator -->
<material name="Polyvinyltoluene">
<D type="density" value="1.023" unit="g/cm3"/>
Expand All @@ -53,23 +50,56 @@

<!-- LYSO target -->
<material formula="L1.86Y0.14Si05" name="LYSO" >
<D value="7.4" unit="g/cm3" />
<fraction n="0.7297" ref="Lu" />
<fraction n="0.0279" ref="Y" />
<fraction n="0.0630" ref="Si" />
<fraction n="0.1794" ref="O" />
<D value="7.4" unit="g/cm3" />
<fraction n="0.7297" ref="Lu" />
<fraction n="0.0279" ref="Y" />
<fraction n="0.0630" ref="Si" />
<fraction n="0.1794" ref="O" />
</material>


</materials>

<structure>

<volume name="target">
<!-- LYSO target -->
<volume name="lvTargetBar">
<materialref ref="LYSO"/>
<solidref ref="target_box"/>
<auxiliary auxtype="VisAttributes" auxvalue="TargetVis"/>
<auxiliary auxtype="DetElem" auxvalue="Target"/>
<solidref ref="target_bar"/>
</volume>
<volume name="lvTargetArray1">
<materialref ref="Vacuum"/>
<solidref ref="target_array1"/>
<loop for="x" from="1" to="number_of_target_bars1" step="1">
<physvol>
<volumeref ref="lvTargetBar"/>
<position name="posTargetBar1" unit="mm" x="0" y="target_array1_first_bar_y + (x-1) * (target_bar_dy + target_bar_gap)" z="0"/>
<rotation name="rotTargetBar1" unit="deg" x="0" y="0" z="0"/>
</physvol>
</loop>
</volume>
<volume name="lvTargetArray2">
<materialref ref="Vacuum"/>
<solidref ref="target_array2"/>
<loop for="x" from="1" to="number_of_target_bars2" step="1">
<physvol>
<volumeref ref="lvTargetBar"/>
<position name="posTargetBar2" unit="mm" x="0" y="target_array2_first_bar_y + (x-1) * (target_bar_dy + target_bar_gap)" z="0"/>
<rotation name="rotTargetBar2" unit="deg" x="0" y="0" z="0"/>
</physvol>
</loop>
</volume>
<volume name="lvTarget">
<materialref ref="Vacuum"/>
<solidref ref="target_box"/>
<physvol name="lvTargetArray1_phys">
<volumeref ref="lvTargetArray1"/>
<position name="posTarget1" unit="mm" x="target_array1_x" y="target_array1_y" z="target_array1_z"/>
<rotation name="rotTarget1" unit="deg" x="0" y="0" z="0"/>
</physvol>
<physvol name="lvTargetArray2_phys">
<volumeref ref="lvTargetArray2"/>
<position name="posTarget2" unit="mm" x="target_array2_x" y="target_array2_y" z="target_array2_z"/>
<rotation name="rotTarget2" unit="deg" x="0" y="0" z="0"/>
</physvol>
</volume>

<volume name="trigger_pad3_bar_volume">
Expand All @@ -83,7 +113,7 @@
<materialref ref="Vacuum"/>
<solidref ref="target_area_box" />

<loop for="x" to="number_of_bars" step="1">
<loop for="x" from="1" to="number_of_bars" step="1">
<physvol copynumber="2*x-2">
<volumeref ref="trigger_pad3_bar_volume" />
<position name="trigger_pad3_bar_layer1_pos" unit="mm" x="0"
Expand All @@ -100,16 +130,12 @@
</physvol>
</loop>

<physvol copynumber="3">
<volumeref ref="target"/>
<physvol name="lvTarget_phys">
<volumeref ref="lvTarget"/>
<positionref ref="center"/>
<rotationref ref="identity"/>
</physvol>

<auxiliary auxtype="Region" auxvalue="target" />
<!-- <auxiliary auxtype="VisAttributes" auxvalue="InvisibleShowDau"/> -->
<auxiliary auxtype="DetElem" auxvalue="target"/>

</volume>

</structure>
Expand Down

0 comments on commit 25c3406

Please sign in to comment.