Skip to content
Snippets Groups Projects
Commit bc14f031 authored by Whitney Armstrong's avatar Whitney Armstrong
Browse files

Merge branch 'master' into 'master'

More realistic roman pots in simple topside + documentation

See merge request EIC/NPDet!107
parents 31cb2939 6a972744
Branches master
No related tags found
No related merge requests found
Pipeline #3268 failed
Roman Pot
=========
A pair of Roman Pot-style detectors for detection of particles scattered by very small angles.
A pair of Roman Pot-style detectors for detection of particles scattered by very small angles, typically in forward and far-forward regions.
Generic information about design of Roman pot detectors can be found in references describing units used at LHC `ref 1`_ and `ref 2`_.
.. image:: images/RP.png
:width: 400
Example use:
......@@ -23,6 +28,9 @@ Example use:
Detector description variables
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. image:: images/rp_schem.pdf
:width: 400
dimensions
Dimensions of the sensitive detector.
......@@ -44,20 +52,23 @@ frame
thickness of the frame.
position
Positioning of the whole detector pair relative to the beamline.
Positioning of the whole detector pair relative to the beamline.
z_offset
Distance along the beamline.
z_offset
Distance along the beamline.
rotation
Boolean which determines whether the detector pair is horizontal (false) or vertical (true).
vmax
Furthest distance of the detector from the beam (used to create the full unit unclosure).
v
Current insertion depth of the detectors (distance of the inner edge relative to the beam axis).
rotation
Boolean which determines whether the detector pair is horizontal (false) or vertical (true).
vmax
Furthest distance of the detector from the beam (used to create the full unit unclosure).
v
Current insertion depth of the detectors (distance of the inner edge relative to the beam axis).
layer
Material stack used for the sensitive detector.
layer
Material stack used for the sensitive detector.
repeat
Number of layers in a single detectors.
repeat
Number of layers in a single detectors.
.. _ref 1: https://doi.org/10.1016/j.nima.2007.08.034
.. _ref 2: https://accelconf.web.cern.ch/e06/PAPERS/MOPLS013.PDF
Beamline magnet elements
========================
These detector elements don't directly serve a role in particle detection, but have to be included to accomodate for particle-matter interactions. The provided magnet types are :ref:`dipole <dip>` and :ref:`quadrupole <quad>` magnets and :ref:`spin rotators <snake>`.
.. _dip:
Dipole magnets
~~~~~~~~~~~~~~
Magnets generating dipole field used for beam steering and spectrometry.
example use:
.. code-block:: XML
<detector id="3" name="B0PF_BeamlineMagnet" type="B0pFMag">
<placement x="B0PF_XPosition" y="0*m" z="B0PF_CenterPosition" theta="B0PF_RotationAngle" />
<dimensions x="B0PF_InnerRadius*4" y="B0PF_InnerRadius*4" z="B0PF_Length*0.5" />
<apperture x="B0PF_InnerRadius*2" y="B0PF_InnerRadius*2" />
<coil dx="0.1*m" dy="0.03*m" />
</detector>
.. _quad:
Quadrupole magnets
~~~~~~~~~~~~~~~~~~
Magnets used for bea focusing, loosely based on design shown `here <https://indico.cern.ch/event/763185/contributions/3415423/attachments/1914495/3164671/MT26-Thu-Af-Or22-07_JLab_Renuka.pdf>`_. More information can be also found at reference discussing the `EIC design <https://doi.org/10.1109/TASC.2019.2896376>`_.
example use:
.. code-block:: XML
<detector id="1" name="quad_example" vis="RedVis" type="QuadMagnet">
<placement x="0*m" y="0*m" z="0*m" theta="0.0" />
<dimensions r="0.2*m" z="3.8*m" />
<coil dx="8*cm" dy="2.5*cm" />
<apperture r="0.131*m" />
</detector>
.. _snake:
Helical dipole magnets
~~~~~~~~~~~~~~~~~~~~~~
These beamline elements are used for spin rotation. See this `reference <https://doi.org/10.1063/1.2750932>`_ for more information.
.. image:: images/D-helix.png
:width: 400
example use:
.. code-block:: XML
<detector id="1" name="spinp_example" vis="RedVis" type="HelicalDipole">
<placement x="0*m" y="0*m" z="0*m" theta="0.0" psi="0.0" />
<dimensions r="0.2*m" z="2.3*m" />
<coil dy="2.5*cm" />
<apperture r="0.131*m" />
</detector>
......@@ -6,3 +6,4 @@
detectors
RomanPot
Calorimeters
beamline_magnets
docs/images/D-helix.png

396 KiB

docs/images/RP.png

220 KiB

File added
......@@ -65,6 +65,11 @@
<composite n="2" ref="Al"/>
<composite n="3" ref="O"/>
</material>
<material name="SiliconNitride">
<D type="density" value="3.17" unit="g/cm3"/>
<composite n="3" ref="Si"/>
<composite n="4" ref="N"/>
</material>
<material name="PyrexGlass">
<D type="density" value="2.23" unit="g/cm3"/>
<fraction n="0.806" ref="SiliconOxide"/>
......
......@@ -864,141 +864,129 @@ Gradient [T/m] 0.0 0.0 -72.608 -66.180 40.737
<!--<constant name="B2PF_XPosition" value="40.00*cm + CrossingSlope * B2PF_CenterPosition"/>-->
<detector id="40" name = "RomanPot1" type="RomanPot" readout="ForwardRomanPotHits" vis = "RedVis">
<position x="20.0*cm+ CrossingSlope*30.0*m" y="0.0" z="30.0*m" z_offset="0.0*m" rotation="true" vmax="10*cm" v="2*cm" />
<dimensions x="25.0*cm" y="25.0*cm" delta="0.005*cm" />
<dimensions x="10.0*cm" y="10.0*cm" delta="0.005*cm" />
<frame x="40.0*cm" y="30.0*cm" z="2*cm" />
<layer repeat="5">
<slice material="Carbon" thickness="0.5*mm" vis="BlueVis" />
<slice material="SiliconNitride" thickness="0.001*mm" vis="BlueVis" />
<slice material="Silicon" thickness="0.03*cm" vis="GreenVis" sensitive="true" />
<slice material="Carbon" thickness="0.5*mm" vis="BlueVis" />
<slice material="Vacuum" thickness="1.0*mm" vis="InvisibleWithDaughters" />
</layer>
</detector>
<detector id="41" name = "RomanPot2" type="RomanPot" readout="ForwardRomanPotHits" vis = "RedVis">
<position x="20.0*cm+ CrossingSlope*30.5*m" y="0.0" z="30.5*m" z_offset="0.0*m" rotation="true" vmax="10*cm" v="2*cm" />
<dimensions x="25.0*cm" y="25.0*cm" delta="0.005*cm" />
<dimensions x="10.0*cm" y="10.0*cm" delta="0.005*cm" />
<frame x="40.0*cm" y="30.0*cm" z="2*cm" />
<layer repeat="5">
<slice material="Carbon" thickness="0.5*mm" vis="BlueVis" />
<slice material="SiliconNitride" thickness="0.001*mm" vis="BlueVis" />
<slice material="Silicon" thickness="0.03*cm" vis="GreenVis" sensitive="true" />
<slice material="Carbon" thickness="0.5*mm" vis="BlueVis" />
<slice material="Vacuum" thickness="1.0*mm" vis="InvisibleWithDaughters" />
</layer>
</detector>
<detector id="42" name = "RomanPot3" type="RomanPot" readout="ForwardRomanPotHits" vis = "RedVis">
<position x="30.0*cm+ CrossingSlope*33.0*m" y="0.0" z="33.0*m" z_offset="0.0*m" rotation="true" vmax="10*cm" v="2.5*cm" />
<dimensions x="25.0*cm" y="25.0*cm" delta="0.005*cm" />
<dimensions x="10.0*cm" y="10.0*cm" delta="0.005*cm" />
<frame x="40.0*cm" y="30.0*cm" z="2*cm" />
<layer repeat="5">
<slice material="Carbon" thickness="0.5*mm" vis="BlueVis" />
<slice material="SiliconNitride" thickness="0.001*mm" vis="BlueVis" />
<slice material="Silicon" thickness="0.03*cm" vis="GreenVis" sensitive="true" />
<slice material="Carbon" thickness="0.5*mm" vis="BlueVis" />
<slice material="Vacuum" thickness="1.0*mm" vis="InvisibleWithDaughters" />
</layer>
</detector>
<detector id="43" name = "RomanPot4" type="RomanPot" readout="ForwardRomanPotHits" vis = "RedVis">
<position x="30.0*cm+ CrossingSlope*33.5*m" y="0.0" z="33.5*m" z_offset="0.0*m" rotation="true" vmax="10*cm" v="2.5*cm" />
<dimensions x="25.0*cm" y="25.0*cm" delta="0.005*cm" />
<dimensions x="10.0*cm" y="10.0*cm" delta="0.005*cm" />
<frame x="40.0*cm" y="30.0*cm" z="2*cm" />
<layer repeat="5">
<slice material="Carbon" thickness="0.5*mm" vis="BlueVis" />
<slice material="SiliconNitride" thickness="0.001*mm" vis="BlueVis" />
<slice material="Silicon" thickness="0.03*cm" vis="GreenVis" sensitive="true" />
<slice material="Carbon" thickness="0.5*mm" vis="BlueVis" />
<slice material="Vacuum" thickness="1.0*mm" vis="InvisibleWithDaughters" />
</layer>
</detector>
<detector id="44" name = "RomanPot44" type="RomanPot" readout="ForwardRomanPotHits" vis = "RedVis">
<position x="40.0*cm+ CrossingSlope*(B2PF_CenterPosition-B2PF_Length/2.0-0.6*m)" y="0.0" z="B2PF_CenterPosition-B2PF_Length/2.0-0.6*m"
z_offset="0.0*m" rotation="true" vmax="10*cm" v="2.0*cm" />
<dimensions x="25.0*cm" y="25.0*cm" delta="0.005*cm" />
<dimensions x="10.0*cm" y="10.0*cm" delta="0.005*cm" />
<frame x="40.0*cm" y="30.0*cm" z="2*cm" />
<layer repeat="5">
<slice material="Carbon" thickness="0.5*mm" vis="BlueVis" />
<slice material="SiliconNitride" thickness="0.001*mm" vis="BlueVis" />
<slice material="Silicon" thickness="0.03*cm" vis="GreenVis" sensitive="true" />
<slice material="Carbon" thickness="0.5*mm" vis="BlueVis" />
<slice material="Vacuum" thickness="1.0*mm" vis="InvisibleWithDaughters" />
</layer>
</detector>
<detector id="45" name = "RomanPot45" type="RomanPot" readout="ForwardRomanPotHits" vis = "RedVis">
<position x="40.0*cm+ CrossingSlope*(B2PF_CenterPosition-B2PF_Length/2.0-0.3*m)" y="0.0" z="(B2PF_CenterPosition-B2PF_Length/2.0-0.3*m)"
z_offset="0.0*m" rotation="true" vmax="10*cm" v="2.0*cm" />
<dimensions x="25.0*cm" y="25.0*cm" delta="0.005*cm" />
<dimensions x="10.0*cm" y="10.0*cm" delta="0.005*cm" />
<frame x="40.0*cm" y="30.0*cm" z="2*cm" />
<layer repeat="5">
<slice material="Carbon" thickness="0.5*mm" vis="BlueVis" />
<slice material="SiliconNitride" thickness="0.001*mm" vis="BlueVis" />
<slice material="Silicon" thickness="0.03*cm" vis="GreenVis" sensitive="true" />
<slice material="Carbon" thickness="0.5*mm" vis="BlueVis" />
<slice material="Vacuum" thickness="1.0*mm" vis="InvisibleWithDaughters" />
</layer>
</detector>
<detector id="46" name = "RomanPot46" type="RomanPot" readout="ForwardRomanPotHits" vis = "RedVis">
<position x="45.0*cm+ CrossingSlope*(QPFC1_CenterPosition-QPFC1_Length/2.0 - 0.3*m)" y="0.0" z="(QPFC1_CenterPosition-QPFC1_Length/2.0 - 0.3*m)"
z_offset="0.0*m" rotation="true" vmax="10*cm" v="3.0*cm" />
<dimensions x="25.0*cm" y="25.0*cm" delta="0.005*cm" />
<dimensions x="10.0*cm" y="10.0*cm" delta="0.005*cm" />
<frame x="40.0*cm" y="30.0*cm" z="2*cm" />
<layer repeat="5">
<slice material="Carbon" thickness="0.5*mm" vis="BlueVis" />
<slice material="SiliconNitride" thickness="0.001*mm" vis="BlueVis" />
<slice material="Silicon" thickness="0.03*cm" vis="GreenVis" sensitive="true" />
<slice material="Carbon" thickness="0.5*mm" vis="BlueVis" />
<slice material="Vacuum" thickness="1.0*mm" vis="InvisibleWithDaughters" />
</layer>
</detector>
<detector id="47" name = "RomanPot47" type="RomanPot" readout="ForwardRomanPotHits" vis = "RedVis">
<position x="45.0*cm+ CrossingSlope*(QPFC1_CenterPosition-QPFC1_Length/2.0 - 0.6*m)" y="0.0" z="(QPFC1_CenterPosition-QPFC1_Length/2.0 - 0.6*m)"
z_offset="0.0*m" rotation="false" vmax="10*cm" v="5.0*cm" />
<dimensions x="25.0*cm" y="25.0*cm" delta="0.005*cm" />
<dimensions x="10.0*cm" y="10.0*cm" delta="0.005*cm" />
<frame x="40.0*cm" y="30.0*cm" z="2*cm" />
<layer repeat="5">
<slice material="Carbon" thickness="0.5*mm" vis="BlueVis" />
<slice material="SiliconNitride" thickness="0.001*mm" vis="BlueVis" />
<slice material="Silicon" thickness="0.03*cm" vis="GreenVis" sensitive="true" />
<slice material="Carbon" thickness="0.5*mm" vis="BlueVis" />
<slice material="Vacuum" thickness="1.0*mm" vis="InvisibleWithDaughters" />
</layer>
</detector>
<detector id="48" name = "RomanPot48" type="RomanPot" readout="ForwardRomanPotHits" vis = "RedVis">
<position x="45.0*cm+ CrossingSlope*(QPFC2_CenterPosition-QPFC2_Length/2.0 - 0.6*m)" y="0.0" z="(QPFC2_CenterPosition-QPFC2_Length/2.0 - 0.6*m)"
z_offset="0.0*m" rotation="true" vmax="10*cm" v="1.0*cm" />
<dimensions x="25.0*cm" y="25.0*cm" delta="0.005*cm" />
<dimensions x="10.0*cm" y="10.0*cm" delta="0.005*cm" />
<frame x="40.0*cm" y="30.0*cm" z="2*cm" />
<layer repeat="5">
<slice material="Carbon" thickness="0.5*mm" vis="BlueVis" />
<slice material="SiliconNitride" thickness="0.001*mm" vis="BlueVis" />
<slice material="Silicon" thickness="0.03*cm" vis="GreenVis" sensitive="true" />
<slice material="Carbon" thickness="0.5*mm" vis="BlueVis" />
<slice material="Vacuum" thickness="1.0*mm" vis="InvisibleWithDaughters" />
</layer>
</detector>
<detector id="49" name = "RomanPot49" type="RomanPot" readout="ForwardRomanPotHits" vis = "RedVis">
<position x="45.0*cm+ CrossingSlope*(QPFC2_CenterPosition-QPFC2_Length/2.0 - 0.3*m)" y="0.0" z="(QPFC2_CenterPosition-QPFC2_Length/2.0 - 0.3*m)"
z_offset="0.0*m" rotation="false" vmax="10*cm" v="1.0*cm" />
<dimensions x="25.0*cm" y="25.0*cm" delta="0.005*cm" />
<dimensions x="10.0*cm" y="10.0*cm" delta="0.005*cm" />
<frame x="40.0*cm" y="30.0*cm" z="2*cm" />
<layer repeat="5">
<slice material="Carbon" thickness="0.5*mm" vis="BlueVis" />
<slice material="SiliconNitride" thickness="0.001*mm" vis="BlueVis" />
<slice material="Silicon" thickness="0.03*cm" vis="GreenVis" sensitive="true" />
<slice material="Carbon" thickness="0.5*mm" vis="BlueVis" />
<slice material="Vacuum" thickness="1.0*mm" vis="InvisibleWithDaughters" />
</layer>
</detector>
<detector id="50" name = "RomanPot50" type="RomanPot" readout="ForwardRomanPotHits" vis = "RedVis">
<position x="45.0*cm+ CrossingSlope*(QPFC2_CenterPosition+QPFC2_Length/2.0 + 0.3*m)" y="0.0" z="(QPFC2_CenterPosition+QPFC2_Length/2.0 + 0.3*m)"
z_offset="0.0*m" rotation="false" vmax="10*cm" v="1.0*cm" />
<dimensions x="25.0*cm" y="25.0*cm" delta="0.005*cm" />
<dimensions x="10.0*cm" y="10.0*cm" delta="0.005*cm" />
<frame x="40.0*cm" y="30.0*cm" z="2*cm" />
<layer repeat="5">
<slice material="Carbon" thickness="0.5*mm" vis="BlueVis" />
<slice material="SiliconNitride" thickness="0.001*mm" vis="BlueVis" />
<slice material="Silicon" thickness="0.03*cm" vis="GreenVis" sensitive="true" />
<slice material="Carbon" thickness="0.5*mm" vis="BlueVis" />
<slice material="Vacuum" thickness="1.0*mm" vis="InvisibleWithDaughters" />
</layer>
</detector>
<detector id="51" name = "RomanPot51" type="RomanPot" readout="ForwardRomanPotHits" vis = "RedVis">
<position x="45.0*cm+ CrossingSlope*(QPFC2_CenterPosition+QPFC2_Length/2.0 + 0.6*m)" y="0.0" z="(QPFC2_CenterPosition+QPFC2_Length/2.0 + 0.6*m)"
z_offset="0.0*m" rotation="true" vmax="10*cm" v="1.0*cm" />
<dimensions x="25.0*cm" y="25.0*cm" delta="0.005*cm" />
<dimensions x="10.0*cm" y="10.0*cm" delta="0.005*cm" />
<frame x="40.0*cm" y="30.0*cm" z="2*cm" />
<layer repeat="5">
<slice material="Carbon" thickness="0.5*mm" vis="BlueVis" />
<slice material="SiliconNitride" thickness="0.001*mm" vis="BlueVis" />
<slice material="Silicon" thickness="0.03*cm" vis="GreenVis" sensitive="true" />
<slice material="Carbon" thickness="0.5*mm" vis="BlueVis" />
<slice material="Vacuum" thickness="1.0*mm" vis="InvisibleWithDaughters" />
</layer>
</detector>
......
......@@ -68,9 +68,8 @@
<frame x = "10.0*cm" y = "5.0*cm" z = "2*cm" />
<position z_offset = "0.0*m" rotation = "false" vmax = "10*cm" v = "2.0*cm" />
<layer repeat = "5">
<slice material="Carbon" thickness="0.5*mm" vis = "BlueVis" />
<slice material="Silicon" thickness="0.3*mm" vis = "GreenVis" sensitive = "true" />
<slice material="Carbon" thickness="0.5*mm" vis = "BlueVis" />
<slice material="SiliconNitride" thickness="0.001*mm" vis="BlueVis" />
<slice material="Silicon" thickness="0.03*cm" vis="GreenVis" sensitive="true" />
<slice material="Vacuum" thickness="1.0*mm" vis="InvisibleWithDaughters" />
</layer>
</detector>
......
......@@ -65,6 +65,12 @@
<composite n="2" ref="O"/>
</material>
<material name="SiliconNitride">
<D type="density" value="3.17" unit="g/cm3"/>
<composite n="3" ref="Si"/>
<composite n="4" ref="N"/>
</material>
<material name="BoronOxide">
<D type="density" value="2.46" unit="g/cm3"/>
<composite n="2" ref="B"/>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment