-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improved electron beam pipe modelling #691
Changes from 11 commits
696eb3b
61ab792
cccf439
aa8f64e
f3c86ec
44c6d17
d2ac0b1
b18c8d6
d035b34
005e8b1
490c56c
9b7415a
f9adaf8
82db90b
aed857a
8427111
2d99a6d
84a3712
857c7d8
63c4bfc
e4ee1c0
2bb7f3c
8262e8f
4fa5b0a
5ce7f64
664ecf4
938fe24
ec69b1b
2b88eac
cb400ed
48fd46d
5b14365
f5c5f26
bcadf00
6dd3d6c
fb480cc
be5f28a
456a73d
28b2477
d6eca3f
cb5ce6a
2e5d19c
4dd2c82
e580c42
0cf1cb3
ed325d4
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
@@ -5,30 +5,27 @@ | |||||||||
|
||||||||||
<comment> Connection to central beam pipe </comment> | ||||||||||
|
||||||||||
<constant name="Center_Beampipe_End" value="-4560.17*mm"/> | ||||||||||
<constant name="Center_Beampipe_Rad" value="47.60*mm"/> | ||||||||||
<constant name="Center_Beampipe_End" value="-5000.0 * mm"/> | ||||||||||
<constant name="Center_Beampipe_Rad" value="97.715/2 * mm"/> | ||||||||||
|
||||||||||
<constant name="Hadron_Beampipe_End" value="-4490.35*mm"/> | ||||||||||
<constant name="Hadron_Beampipe_Rad" value="50*mm"/> | ||||||||||
<constant name="Hadron_Beampipe_Thickness" value="1.64*mm"/> | ||||||||||
|
||||||||||
<comment> Electron magnet dimensions and positions </comment> | ||||||||||
|
||||||||||
<constant name="Q1eR_InnerRadius" value="67.5*mm"/> | ||||||||||
<constant name="Q1eR_Length" value="1.78*m"/> | ||||||||||
<constant name="Q1eR_CenterPosition" value="-6.2*m"/> | ||||||||||
<constant name="Q1eR_InnerRadius" value="57.70 * mm"/> | ||||||||||
<constant name="Q1eR_Length" value="1.80 * m"/> | ||||||||||
<constant name="Q1eR_CenterPosition" value="(-7.1+1.8/2) * m"/> | ||||||||||
|
||||||||||
<constant name="Q2eR_InnerRadius" value="78.0*mm"/> | ||||||||||
<constant name="Q2eR_Length" value="1.4*m"/> | ||||||||||
<constant name="Q2eR_CenterPosition" value="-8.3*m"/> | ||||||||||
<constant name="Q2eR_InnerRadius" value="66.30 * mm"/> | ||||||||||
<constant name="Q2eR_Length" value="1.4 * m"/> | ||||||||||
<constant name="Q2eR_CenterPosition" value="(-9.0 + 1.4/2) * m"/> | ||||||||||
|
||||||||||
<constant name="B2AeR_InnerRadius" value="90.0*mm"/> | ||||||||||
<constant name="B2AeR_Length" value="1.78*m"/> | ||||||||||
<constant name="B2AeR_CenterPosition" value="-10.5*m"/> | ||||||||||
|
||||||||||
<constant name="B2BeR_InnerRadius" value="111.0*mm"/> | ||||||||||
<constant name="B2BeR_Length" value="3.18*m"/> | ||||||||||
<constant name="B2BeR_CenterPosition" value="-13.275*m"/> | ||||||||||
<constant name="B2BeR_InnerRadius" value="100.0 * mm"/> | ||||||||||
<constant name="B2BeR_Length" value="5.500075391030 * m"/> | ||||||||||
<constant name="B2BeR_CenterPosition" value="-15.000075390000 * m + B2BeR_Length/2"/> | ||||||||||
Comment on lines
+49
to
+50
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do the microns matter here?
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Here, I simply follow the lattice file v6.2. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If we are following a specific lattice version, we should mention this in one of the comments somewhere, with a reference for where one can find this lattice version (even if not publicly accessible). |
||||||||||
<constant name="B2BeR_Edge" value="5.0 * mm"/> | ||||||||||
|
||||||||||
<constant name="Q3eR_InnerRadius" value="0.05*m"/> | ||||||||||
<constant name="Q3eR_Length" value="0.6*m"/> | ||||||||||
|
@@ -174,7 +171,7 @@ | |||||||||
<constant name="Vacuum_BB_MaxX" value="0.5*m"/> | ||||||||||
<constant name="Vacuum_BB_MinY" value="-1.5*m"/> | ||||||||||
<constant name="Vacuum_BB_MaxY" value="1.5*m"/> | ||||||||||
<constant name="Vacuum_BB_MinZ" value="B2BeR_CenterPosition-B2BeR_Length/2"/> | ||||||||||
<constant name="Vacuum_BB_MinZ" value="B2BeR_CenterPosition-B2BeR_Length/2 - B2BeR_Edge"/> | ||||||||||
<constant name="Vacuum_BB_MaxZ" value="Q3eR_EndZ"/> | ||||||||||
|
||||||||||
<constant name="Beam_Theta" value="Q3eR_Theta"/> | ||||||||||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,11 +11,19 @@ | |
name="LumiWindow" | ||
type="LumiWindow" | ||
material="Aluminum" | ||
vis="AnlLightGray"> | ||
vis="AnlLightGray" | ||
readout="LumiWindowCALHits"> | ||
<dimensions x="LumiWin_R" y="LumiWin_R" z="LumiWin_thickness/2" /> | ||
<position x="0" y="0" z="LumiWin_Z" /> | ||
<rotation x="0*rad" y="0*rad" z="0*rad" /> | ||
</detector> | ||
</detectors> | ||
|
||
<readouts> | ||
<readout name="LumiWindowCALHits"> | ||
<segmentation type="NoSegmentation"/> | ||
<id>system:8</id> | ||
</readout> | ||
</readouts> | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Not sure if this is supposed to go into the official geometry. Why do we need this? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hi @veprbl , |
||
</lccdd> |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,33 +13,40 @@ | |
type="BeamPipeChain" | ||
wall_thickness="2*mm" | ||
vis="BeamPipeVis"> | ||
<pipe id="0" name="Pipe_to_Q1eR" | ||
xcenter="0" zcenter="(Center_Beampipe_End + Q1eR_CenterPosition+Q1eR_Length/2)/2" | ||
length="Center_Beampipe_End - (Q1eR_CenterPosition+Q1eR_Length/2)" theta="0" | ||
rout1="Center_Beampipe_Rad" rout2="Q1eR_InnerRadius"> | ||
<pipe id="0" name="Pipe_0" | ||
xcenter="0" zcenter="-7342.0 * mm + (Center_Beampipe_End + 7342.0 * mm)/2" | ||
length="Center_Beampipe_End + 7342.0 * mm" theta="0" | ||
rout1="Center_Beampipe_Rad" rout2="(111.40/2 + 2) * mm"> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We should avoid changing parametrized values into hard-coded values that are then used in multiple places. (Applies file-wide.) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It is true. However, I would suggest keeping the beam pipe geometry separated from the magnet geometry because they have different sources (i.e., the beam pipe model is from the vacuum and background groups, magnets -- lattice and magnet groups). Also, the inner radius of magnets should not always follow the beam pipe radius. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I am not sure if we need them all as global variables in the central beam pipe; they can be local variables in the far_backward and far_forward sections, right? |
||
</pipe> | ||
<pipe id="1" name="Pipe_in_Q1eR" | ||
xcenter="0" zcenter="Q1eR_CenterPosition" | ||
length="Q1eR_Length" theta="0" | ||
rout1="Q1eR_InnerRadius" rout2="Q1eR_InnerRadius"> | ||
<pipe id="1" name="Pipe_1" | ||
xcenter="0" zcenter="-7405.0 * mm + (7405.00 - 7342.0)/2 * mm" | ||
length="(7405.00 - 7342.0) * mm" theta="0" | ||
rout1="(111.40/2 + 2) * mm" rout2="(128.60/2 + 2) * mm"> | ||
</pipe> | ||
<pipe id="2" name="Pipe_Q1eR_to_Q2eR"/> | ||
<pipe id="3" name="Pipe_in_Q2eR" | ||
xcenter="0" zcenter="Q2eR_CenterPosition" | ||
length="Q2eR_Length" theta="0" | ||
rout1="Q2eR_InnerRadius" rout2="Q2eR_InnerRadius"> | ||
<pipe id="2" name="Pipe_2" | ||
wdconinc marked this conversation as resolved.
Show resolved
Hide resolved
|
||
xcenter="0" zcenter="-9288.0 * mm + (9288.0 - 7405.00)/2 * mm" | ||
length="(9288.0 - 7405.00) * mm" theta="0" | ||
rout1="(128.60/2 + 2) * mm" rout2="(128.60/2 + 2) * mm"> | ||
</pipe> | ||
<pipe id="4" name="Pipe_Q2eR_to_B2AeR"/> | ||
<pipe id="5" name="Pipe_in_B2AeR" | ||
xcenter="0" zcenter="B2AeR_CenterPosition" | ||
length="B2AeR_Length" theta="0" | ||
rout1="B2AeR_InnerRadius" rout2="B2AeR_InnerRadius"> | ||
<pipe id="3" name="Pipe_3" | ||
xcenter="0" zcenter="-9364.0 * mm + (9364.0 - 9288.0)/2 * mm" | ||
length="(9364.0 - 9288.0) * mm" theta="0" | ||
rout1="(128.60/2 + 2)* mm" rout2="(154.00/2 + 2) * mm"> | ||
</pipe> | ||
<pipe id="6" name="Pipe_B2AeR_to_B2BeR"/> | ||
<pipe id="7" name="Pipe_in_B2BeR" | ||
xcenter="0" zcenter="B2BeR_CenterPosition" | ||
length="B2BeR_Length" theta="0" | ||
rout1="B2BeR_InnerRadius" rout2="B2BeR_InnerRadius"> | ||
<pipe id="4" name="Pipe_4" | ||
xcenter="0" zcenter="-11364.0 * mm + (11364.0 - 9364.0)/2 * mm" | ||
length="(11364.0 - 9364.0) * mm" theta="0" | ||
rout1="(154.00/2 + 2) * mm" rout2="(154.00/2 + 2) * mm"> | ||
</pipe> | ||
<pipe id="5" name="Pipe_5" | ||
xcenter="0" zcenter="-11414.0 * mm + (11414.0 - 11364.0)/2 * mm" | ||
length="(11414.0 - 11364.0) * mm" theta="0" | ||
rout1="(154.00/2 + 2) * mm" rout2="(196.00/2 + 2) * mm"> | ||
</pipe> | ||
<pipe id="6" name="Pipe_6" | ||
xcenter="0" zcenter="(B2BeR_CenterPosition - B2BeR_Length/2 - B2BeR_Edge) + (abs(B2BeR_CenterPosition - B2BeR_Length/2 - B2BeR_Edge) - 11414.0 * mm)/2" | ||
length="abs(B2BeR_CenterPosition - B2BeR_Length/2 - B2BeR_Edge) - 11414.0 * mm" theta="0" | ||
rout1="(196.00/2 + 2) * mm" rout2="(196.00/2 + 2) * mm"> | ||
</pipe> | ||
</detector> | ||
|
||
|
@@ -59,13 +66,6 @@ | |
<coil dx="2*cm" dy="1.5*cm" /><!--unchecked--> | ||
</detector> | ||
|
||
<detector name="Magnet_B2AeR" type="ip6_CylindricalDipoleMagnet" vis="FFMagnetVis"> | ||
<placement x="0" y="0" z="B2AeR_CenterPosition" theta="0*rad"/> | ||
<dimensions x="B2AeR_InnerRadius*4" y="B2AeR_InnerRadius*4" z="B2AeR_Length" r="1.5*B2AeR_InnerRadius"/> | ||
<apperture x="B2AeR_InnerRadius*2" y="B2AeR_InnerRadius*2" r="B2AeR_InnerRadius"/> | ||
<coil dx="2*cm" dy="1.5*cm" /><!--unchecked--> | ||
</detector> | ||
|
||
<detector name="Magnet_B2BeR" type="ip6_CylindricalDipoleMagnet" vis="FFMagnetVis"> | ||
<placement x="0" y="0" z="B2BeR_CenterPosition" theta="0*rad"/> | ||
<dimensions x="B2BeR_InnerRadius*4" y="B2BeR_InnerRadius*4" z="B2BeR_Length" r="1.5*B2BeR_InnerRadius"/> | ||
|
@@ -110,12 +110,6 @@ | |
<coefficient coefficient="Q3eR_Gradient"/> | ||
</field> | ||
|
||
<field name="Magnet_B2AeR_Field" type="MultipoleMagnet"> | ||
<shape type="Tube" rmax="B2AeR_InnerRadius" dz="B2AeR_Length/2"/> | ||
<position x="0" y="0" z="B2AeR_CenterPosition"/> | ||
<coefficient coefficient="B2AeR_B"/> | ||
</field> | ||
|
||
<field name="Magnet_B2BeR_Field" type="MultipoleMagnet"> | ||
<shape type="Tube" rmax="B2BeR_InnerRadius" dz="B2BeR_Length/2"/> | ||
<position x="0" y="0" z="B2BeR_CenterPosition"/> | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -48,7 +48,7 @@ | |
<comment> Forward TOF region </comment> | ||
<constant name="ForwardTOFRegion_zmin" value="174.0*cm" /> | ||
<constant name="ForwardTOFRegion_tan" value="CentralTrackingRegionP_tan" /> | ||
<constant name="ForwardTOFRegion_minR" value="8*cm" /> | ||
<constant name="ForwardTOFRegion_minR" value="10*cm" /> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Changes to detector envelope volumes require updates to the detector parameter table first, along with TIC review and approval (https://eic.jlab.org/Geometry/Detector/Detector-20240117135224.html indicates 8 cm). There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. As I wrote, we cannot fit the actual beam pipe in the current detector. Please let me know the procedure to get it approved. Do you know who should be contacted? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The current procedure is to send an email with requests for changes to the detector parameter table to the detector parameter table maintainers, the project's experiment contacts, collaboration leadership, and the specific detector contacts. I will send you their emails instead of posting them here. |
||
<constant name="ForwardTOFRegion_maxR" value="50*cm" /> | ||
<constant name="ForwardTOF_xOffset" value="-2.75*cm" /> | ||
<constant name="ForwardTOF_det_height" value="2.0*cm" /> | ||
|
@@ -102,8 +102,8 @@ | |
<comment> Main parameters for MPGD endcap disks, offset here is the distance between disks </comment> | ||
<constant name="ForwardMPGD_zmin" value="148*cm"/> | ||
<constant name="ForwardMPGDMod_offset" value="13.0*cm"/> | ||
<constant name="ForwardMPGDMod1_rmin" value="7.014*cm" /> | ||
<constant name="ForwardMPGDMod2_rmin" value="7.014*cm"/> | ||
<constant name="ForwardMPGDMod1_rmin" value="8.014*cm" /> | ||
<constant name="ForwardMPGDMod2_rmin" value="9.014*cm"/> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Changes to detector envelope volumes require updates to the detector parameter table first, along with TIC review and approval. |
||
<constant name="ForwardMPGDMod1_rmax" value="50*cm" /> | ||
<constant name="ForwardMPGDMod2_rmax" value="50*cm" /> | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't really like the duplication of all z and many of the OD values here. Can we approach this conceptually different so it doesn't require this level of duplication?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This now also adds another methodology to define beampipes: we can still use
<zplane>
but now we have<zplane_mat>
and<zplane_vac>
. We may want to have one way, which sensibly defaults back to the previous behavior.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK. Thanks. I will think about this.