Skip to content

Commit

Permalink
copy original ldmx-det-v14 into ldmx-det-v14-8GeV to be edited
Browse files Browse the repository at this point in the history
  • Loading branch information
tomeichlersmith committed Aug 15, 2023
1 parent 06660b2 commit 7c8820b
Show file tree
Hide file tree
Showing 14 changed files with 15,709 additions and 0 deletions.
461 changes: 461 additions & 0 deletions Detectors/data/ldmx-det-v14-8GeV/constants.gdml

Large diffs are not rendered by default.

228 changes: 228 additions & 0 deletions Detectors/data/ldmx-det-v14-8GeV/detector.gdml
Original file line number Diff line number Diff line change
@@ -0,0 +1,228 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE gdml [
<!ENTITY constants SYSTEM "constants.gdml">
<!ENTITY materials SYSTEM "materials.gdml">
]>
<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;

<!--
Position of the tagger and recoil tracker envelopes with respect to
target. The 9 mm offset was chosen such that the midpoints of the
last (first) layer of the tagger (recoil) tracker are 25 mm apart.
-->
<variable name="tagger_pos_z" value="-9*mm - tagger_envelope_dz/2" />
<variable name="recoil_pos_z" value="9*mm + recoil_envelope_dz/2"/>

<!-- Position of the ECal and HCal parent volumes -->
<constant name="em_calorimeter_pos_z" value="ecal_front_z" />
<constant name="hadron_calorimeter_pos_z" value="ecal_front_z + hcal_dz/2." />

<!--
Trigger scintillator parent volume position relative to the target
???? mm. The end of the parent volume relative to the target
is at ?????. This gives a ???? mm clearance between the upstream.
There are now two TS modules upstream of the tagger tracker.
-->
<variable name="trig_scint_pos_z"
value="tagger_pos_z-trig_scint_area_envelope_z/2 -tagger_envelope_dz/2- clearance - 200" />

<!--
Define all subdetector positions relative to the target.
Note: The position of the target is defined at the center i.e.
x = y = z = 0 mm.
-->
<position name="trig_scint_pos" x="0.0" y="0.0" z="trig_scint_pos_z"/>
<position name="tagger_pos" x="0.0" y="0.0" z="tagger_pos_z"/>
<position name="recoil_pos" x="0.0" y="0.0" z="recoil_pos_z"/>
<position name="em_calorimeter_pos"
x="0.0"
y="support_box_shift"
z="em_calorimeter_pos_z + ecal_envelope_z/2"/>
<!-- the ecal support box is asymmetric in the vertical direction causing an additional
shift relative to the origin at the target -->
<position name="hadron_calorimeter_pos"
x="0.0"
y="support_box_shift"
z="hadron_calorimeter_pos_z"/>
<position name="magnet_pos" x="0.0" y="0.0" z="magnet_pos_z" />

</define>

<materials>
&materials;
</materials>

<solids>
<box lunit="mm" name="world_box" x="world_dim" y="world_dim" z="world_dim"/>
</solids>

<structure>
<volume name="World">
<materialref ref="Vacuum"/>
<solidref ref="world_box"/>
<physvol copynumber="1">
<file name="tagger.gdml"/>
<positionref ref="tagger_pos"/>
<rotationref ref="identity"/>
</physvol>
<physvol copynumber="2">
<file name="target.gdml" />
<positionref ref="center" />
<rotationref ref="identity" />
</physvol>
<physvol copynumber="3">
<file name="trig_scint.gdml"/>
<positionref ref="trig_scint_pos"/>
<rotationref ref="identity"/>
</physvol>
<physvol copynumber="5">
<file name="recoil.gdml"/>
<positionref ref="recoil_pos"/>
<rotationref ref="identity"/>
</physvol>
<physvol copynumber="6">
<file name="ecal.gdml"/>
<positionref ref="em_calorimeter_pos"/>
<rotationref ref="identity"/>
</physvol>
<physvol copynumber="7">
<file name="hcal.gdml"/>
<positionref ref="hadron_calorimeter_pos"/>
<rotationref ref="identity"/>
</physvol>
<physvol>
<file name="magnet.gdml"/>
<positionref ref="magnet_pos"/>
<rotationref ref="identity"/>
</physvol>
<auxiliary auxtype="DetElem" auxvalue="Top"/>
</volume>
</structure>

<userinfo>
<!-- detector version -->
<auxiliary auxtype="DetectorVersion" auxvalue="14">
<auxiliary auxtype="DetectorName" auxvalue="ldmx-det-v14"/>
<auxiliary auxtype="Description"
auxvalue="The Late 2022 Design Report Geometry."/>
</auxiliary>

<!-- magnetic field with global field map definition -->
<auxiliary auxtype="MagneticField" auxvalue="AnalyzingDipole">
<auxiliary auxtype="MagneticFieldType" auxvalue="MagneticFieldMap3D"/>
<auxiliary auxtype="File" auxvalue="BmapCorrected3D_13k_unfolded_scaled_1.15384615385.dat"/>
<auxiliary auxtype="OffsetX" auxvalue="0.0" auxunit="mm"/>
<auxiliary auxtype="OffsetY" auxvalue="0.0" auxunit="mm"/>
<auxiliary auxtype="OffsetZ" auxvalue="-400.0" auxunit="mm"/>
</auxiliary>

<!-- define regions -->
<auxiliary auxtype="Region" auxvalue="CalorimeterRegion">
<auxiliary auxtype="StoreTrajectories" auxvalue="false"/>
</auxiliary>
<auxiliary auxtype="Region" auxvalue="MagnetRegion">
<auxiliary auxtype="StoreTrajectories" auxvalue="false"/>
</auxiliary>
<auxiliary auxtype="Region" auxvalue="tagger" >
<auxiliary auxtype="StoreTrajectories" auxvalue="true"/>
</auxiliary>
<auxiliary auxtype="Region" auxvalue="trig_scint" >
<auxiliary auxtype="StoreTrajectories" auxvalue="true"/>
</auxiliary>
<auxiliary auxtype="Region" auxvalue="target" >
<auxiliary auxtype="StoreTrajectories" auxvalue="true"/>
</auxiliary>

<!-- define vis attributes -->
<auxiliary auxtype="VisAttributes" auxvalue="InvisibleNoDau">
<auxiliary auxtype="DaughtersInvisible" auxvalue="true"/>
<auxiliary auxtype="Visible" auxvalue="false"/>
</auxiliary>
<auxiliary auxtype="VisAttributes" auxvalue="InvisibleShowDau">
<auxiliary auxtype="DaughtersInvisible" auxvalue="false"/>
<auxiliary auxtype="Visible" auxvalue="false"/>
</auxiliary>
<auxiliary auxtype="VisAttributes" auxvalue="NoDau">
<auxiliary auxtype="DaughtersInvisible" auxvalue="true"/>
<auxiliary auxtype="Visible" auxvalue="true"/>
</auxiliary>
<auxiliary auxtype="VisAttributes" auxvalue="TargetVis">
<auxiliary auxtype="R" auxvalue="1.0"/>
<auxiliary auxtype="G" auxvalue="0.0"/>
<auxiliary auxtype="B" auxvalue="0.0"/>
<auxiliary auxtype="A" auxvalue="1.0"/>
<auxiliary auxtype="Style" auxvalue="solid"/>
<auxiliary auxtype="DaughtersInvisible" auxvalue="true"/>
<auxiliary auxtype="Visible" auxvalue="true"/>
<auxiliary auxtype="LineWidth" auxvalue="1.0"/>
</auxiliary>
<auxiliary auxtype="VisAttributes" auxvalue="EcalVis">
<auxiliary auxtype="R" auxvalue="0.6"/>
<auxiliary auxtype="G" auxvalue="0.6"/>
<auxiliary auxtype="B" auxvalue="0.6"/>
<auxiliary auxtype="A" auxvalue="1.0"/>
<auxiliary auxtype="Style" auxvalue="wireframe"/>
<auxiliary auxtype="DaughtersInvisible" auxvalue="false"/>
<auxiliary auxtype="Visible" auxvalue="true"/>
<auxiliary auxtype="LineWidth" auxvalue="1.0"/>
</auxiliary>
<auxiliary auxtype="VisAttributes" auxvalue="HcalVis">
<auxiliary auxtype="R" auxvalue="0.6"/>
<auxiliary auxtype="G" auxvalue="0.3"/>
<auxiliary auxtype="B" auxvalue="0.0"/>
<auxiliary auxtype="A" auxvalue="1.0"/>
<auxiliary auxtype="Style" auxvalue="wireframe"/>
<auxiliary auxtype="DaughtersInvisible" auxvalue="false"/>
<auxiliary auxtype="Visible" auxvalue="true"/>
<auxiliary auxtype="LineWidth" auxvalue="1.0"/>
</auxiliary>
<auxiliary auxtype="VisAttributes" auxvalue="TaggerVis">
<auxiliary auxtype="R" auxvalue="0.8"/>
<auxiliary auxtype="G" auxvalue="0.8"/>
<auxiliary auxtype="B" auxvalue="0.0"/>
<auxiliary auxtype="A" auxvalue="1.0"/>
<auxiliary auxtype="Style" auxvalue="wireframe"/>
<auxiliary auxtype="DaughtersInvisible" auxvalue="false"/>
<auxiliary auxtype="Visible" auxvalue="true"/>
<auxiliary auxtype="LineWidth" auxvalue="1.0"/>
</auxiliary>
<auxiliary auxtype="VisAttributes" auxvalue="RecoilVis">
<auxiliary auxtype="R" auxvalue="0.6"/>
<auxiliary auxtype="G" auxvalue="0.6"/>
<auxiliary auxtype="B" auxvalue="0.0"/>
<auxiliary auxtype="A" auxvalue="1.0"/>
<auxiliary auxtype="Style" auxvalue="wireframe"/>
<auxiliary auxtype="DaughtersInvisible" auxvalue="false"/>
<auxiliary auxtype="Visible" auxvalue="true"/>
<auxiliary auxtype="LineWidth" auxvalue="1.0"/>
</auxiliary>
<auxiliary auxtype="VisAttributes" auxvalue="TriggerPadVis">
<auxiliary auxtype="R" auxvalue="0.9"/>
<auxiliary auxtype="G" auxvalue="0.8"/>
<auxiliary auxtype="B" auxvalue="1.0"/>
<auxiliary auxtype="A" auxvalue="1.0"/>
<auxiliary auxtype="Style" auxvalue="wireframe"/>
<auxiliary auxtype="DaughtersInvisible" auxvalue="true"/>
<auxiliary auxtype="Visible" auxvalue="true"/>
<auxiliary auxtype="LineWidth" auxvalue="1.0"/>
</auxiliary>
<auxiliary auxtype="VisAttributes" auxvalue="MagnetVis">
<auxiliary auxtype="R" auxvalue="0.75"/>
<auxiliary auxtype="G" auxvalue="0.75"/>
<auxiliary auxtype="B" auxvalue="0.75"/>
<auxiliary auxtype="A" auxvalue="0.8"/>
<auxiliary auxtype="Style" auxvalue="wireframe"/>
<auxiliary auxtype="DaughtersInvisible" auxvalue="false"/>
<auxiliary auxtype="Visible" auxvalue="false"/>
<auxiliary auxtype="LineWidth" auxvalue="1.0"/>
</auxiliary>
</userinfo>

<setup name="Default" version="1.0">
<world ref="World"/>
</setup>
</gdml>
Loading

0 comments on commit 7c8820b

Please sign in to comment.