Skip to content
Snippets Groups Projects

Draft: Split beampipe into two plugins; central beampipe ACTS support

Closed Wouter Deconinck requested to merge wdconinc-master-patch-98645 into master
Files
3
+ 46
32
@@ -12,28 +12,35 @@
@@ -12,28 +12,35 @@
<detectors>
<detectors>
<detector id="BeamPipe_ID" name="BeamPipe" type="IP6BeamPipe" vis="BeamPipeVis">
<detector id="BeamPipeCentral_ID" name="BeamPipeCentral" type="IP6BeamPipeCentral" vis="BeamPipeVis">
<IP_pipe
<beampipe name="central"
OD="BeampipeOD"
OD="BeampipeOD"
wall_thickness="0.757*mm"
upstream_straight_length="BeampipeUpstreamStraightLength"
gold_thickness="5*um"
downstream_straight_length="BeampipeDownstreamStraightLength">
crossing_angle="CrossingAngle"
<comment>Layers listed from outside to inside</comment>
upstream_straight_length="BeampipeUpstreamStraightLength"
<layer thickness="0.757*mm" material="Beryllium"/>
downstream_straight_length="BeampipeDownstreamStraightLength"
<layer thickness="5*um" material="Gold"/>
/>
</beampipe>
 
</detector>
<comment> For upstream beampipe, we subtract the vacuum from the matter </comment>
<detector id="BeamPipeUpstream_ID" name="BeamPipeUpstream" type="IP6BeamPipeAssembly" vis="BeamPipeVis">
<upstream reflect="true"
<comment>
 
For upstream beampipe, we subtract the vacuum from the matter
 
</comment>
 
<beampipe name="upstream"
 
reflect="true"
place_vacuum="true"
place_vacuum="true"
subtract_vacuum="true"
subtract_vacuum="true"
subtract_matter="false">
subtract_matter="false">
<outgoing_lepton thickness="2.0*mm">
<pipe1 name="outgoing_lepton"
 
thickness="2.0*mm">
<zplane z="BeampipeUpstreamStraightLength" OD="BeampipeOD"/>
<zplane z="BeampipeUpstreamStraightLength" OD="BeampipeOD"/>
<zplane z="2690.95 * mm" OD="85.616 * mm"/>
<zplane z="2690.95 * mm" OD="85.616 * mm"/>
<zplane z="4560.17 * mm" OD="99.20 * mm"/>
<zplane z="4560.17 * mm" OD="99.20 * mm"/>
</outgoing_lepton>
</pipe1>
<incoming_hadron thickness="1.65*mm"
<pipe2 name="incoming_hadron"
crossing_angle="CrossingAngle">
thickness="1.65*mm"
 
crossing_angle="CrossingAngle">
<!-- avoid overlap with IP beampipe by starting slightly displaced -->
<!-- avoid overlap with IP beampipe by starting slightly displaced -->
<zplane z="BeampipeUpstreamStraightLength + 0.5 * max(BeampipeOD, 24.714 * mm) * tan(abs(CrossingAngle))" OD="24.714 * mm"/>
<zplane z="BeampipeUpstreamStraightLength + 0.5 * max(BeampipeOD, 24.714 * mm) * tan(abs(CrossingAngle))" OD="24.714 * mm"/>
<zplane z="2690.95 * mm" OD="24.714 * mm"/>
<zplane z="2690.95 * mm" OD="24.714 * mm"/>
@@ -41,21 +48,30 @@
@@ -41,21 +48,30 @@
<zplane z="2890.35 * mm" OD="31.75 * mm"/>
<zplane z="2890.35 * mm" OD="31.75 * mm"/>
<zplane z="2940.35 * mm" OD="44.45 * mm"/>
<zplane z="2940.35 * mm" OD="44.45 * mm"/>
<zplane z="4490.35 * mm" OD="44.45 * mm"/>
<zplane z="4490.35 * mm" OD="44.45 * mm"/>
</incoming_hadron>
</pipe2>
</upstream>
</beampipe>
 
</detector>
<comment> For downstream beampipe (where on is inside the vacuum of the other), we subtract the matter from the vacuum, and subtract an additional pipe to create the angled cutout</comment>
<detector id="BeamPipeDownstream_ID" name="BeamPipeDownstream" type="IP6BeamPipeAssembly" vis="BeamPipeVis">
<downstream reflect="false"
<comment>
place_vacuum="true"
For downstream beampipe (where on is inside the vacuum of the other),
subtract_vacuum="false"
we subtract the matter from the vacuum, and subtract an additional pipe
subtract_matter="true">
to create the angled cutout.
<incoming_lepton thickness="1.0*mm">
</comment>
 
<beampipe name="downstream"
 
reflect="false"
 
place_vacuum="true"
 
subtract_vacuum="false"
 
subtract_matter="true">
 
<pipe1 name="incoming_lepton"
 
thickness="1.0*mm">
<zplane z="BeampipeDownstreamStraightLength" OD="BeampipeOD"/>
<zplane z="BeampipeDownstreamStraightLength" OD="BeampipeOD"/>
<zplane z="4484.25 * mm" OD="BeampipeOD"/>
<zplane z="4484.25 * mm" OD="BeampipeOD"/>
</incoming_lepton>
</pipe1>
<outgoing_hadron thickness="4.0*mm"
<pipe2 name="outgoing_hadron"
axis_intersection="670.0 * mm"
thickness="4.0*mm"
crossing_angle="CrossingAngle">
axis_intersection="670.0 * mm"
 
crossing_angle="CrossingAngle">
<!-- avoid overlap with IP beampipe by starting slightly displaced -->
<!-- avoid overlap with IP beampipe by starting slightly displaced -->
<zplane z="BeampipeDownstreamStraightLength + 0.5 * BeampipeOD * tan(abs(CrossingAngle))" OD="BeampipeOD"/>
<zplane z="BeampipeDownstreamStraightLength + 0.5 * BeampipeOD * tan(abs(CrossingAngle))" OD="BeampipeOD"/>
<!-- FIXME avoid overlap with TrackerEndcapP_Outer_layer3 by moving flange 40 mm in z -->
<!-- FIXME avoid overlap with TrackerEndcapP_Outer_layer3 by moving flange 40 mm in z -->
@@ -71,17 +87,15 @@
@@ -71,17 +87,15 @@
extra_thickness="BeampipeDownstreamFlange2Thickness"/>
extra_thickness="BeampipeDownstreamFlange2Thickness"/>
<zplane z="4484.25 * mm" OD="257.92 * mm + 2.0 * BeampipeDownstreamFlange2Thickness"
<zplane z="4484.25 * mm" OD="257.92 * mm + 2.0 * BeampipeDownstreamFlange2Thickness"
extra_thickness="BeampipeDownstreamFlange2Thickness"/>
extra_thickness="BeampipeDownstreamFlange2Thickness"/>
</outgoing_hadron>
</pipe2>
<additional_subtraction thickness="4.0*mm"
<additional_subtraction thickness="4.0*mm"
crossing_angle="CrossingAngle">
crossing_angle="CrossingAngle">
<!-- these are somewhat arbitrary to get the right hole shape -->
<!-- these are somewhat arbitrary to get the right hole shape -->
<zplane z="BeampipeDownstreamStraightLength" OD="32. * mm"/>
<zplane z="BeampipeDownstreamStraightLength + 0.5 * 32. * mm * tan(abs(CrossingAngle))" OD="32. * mm"/>
<zplane z="4484.25 * mm" OD="120. * mm"/>
<zplane z="4484.25 * mm" OD="120. * mm"/>
</additional_subtraction>
</additional_subtraction>
</downstream>
</beampipe>
</detector>
</detector>
</detectors>
</detectors>
</lccdd>
</lccdd>
Loading