Skip to content

Commit

Permalink
Merge branch 'main' into geoviewer-through-container-trigger
Browse files Browse the repository at this point in the history
  • Loading branch information
veprbl authored Oct 17, 2024
2 parents b808b77 + 21add61 commit 21cac30
Show file tree
Hide file tree
Showing 26 changed files with 516 additions and 120 deletions.
1 change: 1 addition & 0 deletions compact/definitions.xml
Original file line number Diff line number Diff line change
Expand Up @@ -314,6 +314,7 @@ The unused IDs below are saved for future use.
<constant name="LumiSpecCAL_ID" value="194"/>
<constant name="LumiDirectPCAL_ID" value="195"/>

<constant name="BackwardsBeamline_ID" value="197"/>
<constant name="TaggerTracker_ID" value="198"/>
<constant name="TaggerCalorimeter_ID" value="199"/>

Expand Down
8 changes: 4 additions & 4 deletions compact/display.xml
Original file line number Diff line number Diff line change
Expand Up @@ -50,14 +50,14 @@


<vis name="FFTrackerVis" ref="AnlRed" />
<vis name="FFTrackerSupportVis" ref="AnlBlue" visible="true" showDaughters="false" />
<vis name="FFTrackerShieldingVis" ref="AnlGray" visible="true" showDaughters="false" />
<vis name="FFTrackerServiceVis" ref="AnlGold" visible="true" showDaughters="false" />
<vis name="FFTrackerSupportVis" ref="AnlBlue" visible="true" showDaughters="true" />
<vis name="FFTrackerShieldingVis" ref="AnlLightGray" visible="true" showDaughters="true" />
<vis name="FFTrackerServiceVis" ref="AnlGold" visible="true" showDaughters="true" />
<vis name="FFTrackerLayerVis" ref="TrackerVis" visible="true" showDaughters="true" />
<vis name="FFTrackerModuleVis" ref="FFTrackerLayerVis" visible="true" showDaughters="true" />
<vis name="FFTrackerSurfaceVis" ref="FFTrackerLayerVis" visible="true" showDaughters="true" />
<comment> For shielded modules by default just display to module instead of 6 layers </comment>
<vis name="FFTrackerShieldedModuleVis" ref="FFTrackerModuleVis" visible="true" showDaughters="false" />
<vis name="FFTrackerShieldedModuleVis" ref="FFTrackerModuleVis" visible="true" showDaughters="true" />

<comment>
Luminosity Visualisation
Expand Down
3 changes: 2 additions & 1 deletion compact/far_backward/beamline_extension_electron.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@
<pipe id="2" name="Pipe_in_Q4eR"
xcenter="Q4eR_CenterX" zcenter="Q4eR_CenterZ"
length="Q4eR_Length" theta="Q4eR_Theta"
rout1="Q4eR_InnerRadius" rout2="Q4eR_InnerRadius">
rout1="Q4eR_InnerRadius" rout2="Q4eR_InnerRadius"
limits="kill_limits">
</pipe>
<pipe id="3" name="Pipe_Q4eR_to_B3eR"/>
<pipe id="4" name="Pipe_in_B3eR"
Expand Down
80 changes: 80 additions & 0 deletions compact/far_backward/beamline_tracking.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@

<lccdd>

<detectors>
<detector
id="BackwardsBeamline_ID"
type="BeamPipeTracking"
name="Pipe_tracker"
readout="BackwardsBeamlineHits">

<slice
pipe_id="0"
grandmother="Pipe_Q1eR_to_B2BeR"
mother="Pipe_to_Q1eR_vacuum"
name="Pipe_to_Q1eR_tracker"/>

<slice
pipe_id="1"
grandmother="Pipe_Q1eR_to_B2BeR"
mother="Pipe_in_Q1eR_vacuum"
name="Pipe_in_Q1eR_tracker"/>

<slice
pipe_id="2"
grandmother="Pipe_Q1eR_to_B2BeR"
mother="Pipe_in_Q2eR_vacuum"
name="Pipe_in_Q2eR_tracker"/>

<slice
pipe_id="3"
grandmother="Pipe_Q1eR_to_B2BeR"
mother="Pipe_in_B2AeR_vacuum"
name="Pipe_in_B2AeR_tracker"/>

<slice
pipe_id="4"
grandmother="Pipe_Q1eR_to_B2BeR"
mother="Pipe_in_B2BeR_vacuum"
name="Pipe_in_B2BeR_tracker"/>

<slice
pipe_id="5"
grandmother="Pipe_Q3eR_to_B7eR"
mother="Pipe_in_Q3eR_vacuum"
name="Pipe_in_Q3eR_tracker_start"
end="false"/>

<slice
pipe_id="6"
grandmother="Pipe_Q3eR_to_B7eR"
mother="Pipe_in_Q3eR_vacuum"
name="Pipe_in_Q3eR_tracker_end"/>

<slice
pipe_id="7"
grandmother="Pipe_Q3eR_to_B7eR"
mother="Pipe_in_Q4eR_vacuum"
name="Pipe_in_Q4eR_tracker"/>

</detector>

<detector
type="BeamPipeStop"
name="Backwards_Pipe_Stop"
grandmother="Pipe_Q3eR_to_B7eR"
mother="Pipe_Q4eR_to_B3eR_vacuum"
/>

</detectors>

<readouts>

<readout name="BackwardsBeamlineHits">
<segmentation type="NoSegmentation"/>
<id>system:8,pipe:8,end:2</id>
</readout>

</readouts>

</lccdd>
2 changes: 2 additions & 0 deletions compact/far_backward/extended.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,6 @@
<!-- Luminosity detector -->
<include ref="lumi.xml"/>

<include ref="beamline_tracking.xml"/>

</lccdd>
182 changes: 96 additions & 86 deletions compact/far_forward/roman_pots_eRD24_design.xml

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions compact/fields/beamline_10x100.xml
Original file line number Diff line number Diff line change
Expand Up @@ -54,4 +54,14 @@
<constant name="Q0EF_BMax" value="0.0*tesla"/>
<constant name="Q1EF_BMax" value="0.0*tesla"/>

<comment>
These are the ten-sigma cuts for the Roman pots, translated to the physical layout we currently have.
They are not perfectly ten-sigma for reasons of physical geometry.
</comment>

<constant name="offset_central_RP_section" value ="0.71*cm"/>
<constant name="offset_intermediate_1_RP_section" value ="0.55*cm"/>
<constant name="offset_intermediate_2_RP_section" value ="0.0*cm"/>
<constant name="offset_outer_RP_section" value ="0.0*cm"/>

</define>
12 changes: 12 additions & 0 deletions compact/fields/beamline_10x110_H2.xml
Original file line number Diff line number Diff line change
Expand Up @@ -55,4 +55,16 @@
<constant name="Q0EF_BMax" value="0.0*tesla"/>
<constant name="Q1EF_BMax" value="0.0*tesla"/>

<comment>
These are the ten-sigma cuts for the Roman pots, translated to the physical layout we currently have.
They are not perfectly ten-sigma for reasons of physical geometry.

Nuclei currently based on nearest per-nucleon proton energy (needs eventual update from machine).
</comment>

<constant name="offset_central_RP_section" value ="0.71*cm"/>
<constant name="offset_intermediate_1_RP_section" value ="0.55*cm"/>
<constant name="offset_intermediate_2_RP_section" value ="0.0*cm"/>
<constant name="offset_outer_RP_section" value ="0.0*cm"/>

</define>
10 changes: 10 additions & 0 deletions compact/fields/beamline_10x275.xml
Original file line number Diff line number Diff line change
Expand Up @@ -54,4 +54,14 @@
<constant name="Q0EF_BMax" value="0.0*tesla"/>
<constant name="Q1EF_BMax" value="0.0*tesla"/>

<comment>
These are the ten-sigma cuts for the Roman pots, translated to the physical layout we currently have.
They are not perfectly ten-sigma for reasons of physical geometry.
</comment>

<constant name="offset_central_RP_section" value ="0.27*cm"/>
<constant name="offset_intermediate_1_RP_section" value ="0.0*cm"/>
<constant name="offset_intermediate_2_RP_section" value ="0.0*cm"/>
<constant name="offset_outer_RP_section" value ="0.0*cm"/>

</define>
12 changes: 12 additions & 0 deletions compact/fields/beamline_18x110_Au.xml
Original file line number Diff line number Diff line change
Expand Up @@ -55,4 +55,16 @@
<constant name="Q0EF_BMax" value="0.0*tesla"/>
<constant name="Q1EF_BMax" value="0.0*tesla"/>

<comment>
These are the ten-sigma cuts for the Roman pots, translated to the physical layout we currently have.
They are not perfectly ten-sigma for reasons of physical geometry.

Nuclei currently based on nearest per-nucleon proton energy (needs eventual update from machine).
</comment>

<constant name="offset_central_RP_section" value ="0.71*cm"/>
<constant name="offset_intermediate_1_RP_section" value ="0.55*cm"/>
<constant name="offset_intermediate_2_RP_section" value ="0.0*cm"/>
<constant name="offset_outer_RP_section" value ="0.0*cm"/>

</define>
12 changes: 12 additions & 0 deletions compact/fields/beamline_18x110_H2.xml
Original file line number Diff line number Diff line change
Expand Up @@ -55,4 +55,16 @@
<constant name="Q0EF_BMax" value="0.0*tesla"/>
<constant name="Q1EF_BMax" value="0.0*tesla"/>

<comment>
These are the ten-sigma cuts for the Roman pots, translated to the physical layout we currently have.
They are not perfectly ten-sigma for reasons of physical geometry.

Nuclei currently based on nearest per-nucleon proton energy (needs eventual update from machine).
</comment>

<constant name="offset_central_RP_section" value ="0.71*cm"/>
<constant name="offset_intermediate_1_RP_section" value ="0.55*cm"/>
<constant name="offset_intermediate_2_RP_section" value ="0.0*cm"/>
<constant name="offset_outer_RP_section" value ="0.0*cm"/>

</define>
12 changes: 12 additions & 0 deletions compact/fields/beamline_18x110_He3.xml
Original file line number Diff line number Diff line change
Expand Up @@ -55,4 +55,16 @@
<constant name="Q0EF_BMax" value="0.0*tesla"/>
<constant name="Q1EF_BMax" value="0.0*tesla"/>

<comment>
These are the ten-sigma cuts for the Roman pots, translated to the physical layout we currently have.
They are not perfectly ten-sigma for reasons of physical geometry.

Nuclei currently based on nearest per-nucleon proton energy (needs eventual update from machine).
</comment>

<constant name="offset_central_RP_section" value ="0.71*cm"/>
<constant name="offset_intermediate_1_RP_section" value ="0.55*cm"/>
<constant name="offset_intermediate_2_RP_section" value ="0.0*cm"/>
<constant name="offset_outer_RP_section" value ="0.0*cm"/>

</define>
12 changes: 12 additions & 0 deletions compact/fields/beamline_18x110_Pb.xml
Original file line number Diff line number Diff line change
Expand Up @@ -55,4 +55,16 @@
<constant name="Q0EF_BMax" value="0.0*tesla"/>
<constant name="Q1EF_BMax" value="0.0*tesla"/>

<comment>
These are the ten-sigma cuts for the Roman pots, translated to the physical layout we currently have.
They are not perfectly ten-sigma for reasons of physical geometry.

Nuclei currently based on nearest per-nucleon proton energy (needs eventual update from machine).
</comment>

<constant name="offset_central_RP_section" value ="0.71*cm"/>
<constant name="offset_intermediate_1_RP_section" value ="0.55*cm"/>
<constant name="offset_intermediate_2_RP_section" value ="0.0*cm"/>
<constant name="offset_outer_RP_section" value ="0.0*cm"/>

</define>
11 changes: 11 additions & 0 deletions compact/fields/beamline_18x275.xml
Original file line number Diff line number Diff line change
Expand Up @@ -55,4 +55,15 @@
<constant name="Q0EF_BMax" value="0.0*tesla"/>
<constant name="Q1EF_BMax" value="0.0*tesla"/>

<comment>
These are the ten-sigma cuts for the Roman pots, translated to the physical layout we currently have.
They are not perfectly ten-sigma for reasons of physical geometry.
</comment>

<constant name="offset_central_RP_section" value ="0.27*cm"/>
<constant name="offset_intermediate_1_RP_section" value ="0.0*cm"/>
<constant name="offset_intermediate_2_RP_section" value ="0.0*cm"/>
<constant name="offset_outer_RP_section" value ="0.0*cm"/>


</define>
10 changes: 10 additions & 0 deletions compact/fields/beamline_5x100.xml
Original file line number Diff line number Diff line change
Expand Up @@ -54,4 +54,14 @@
<constant name="Q0EF_BMax" value="0.0*tesla"/>
<constant name="Q1EF_BMax" value="0.0*tesla"/>

<comment>
These are the ten-sigma cuts for the Roman pots, translated to the physical layout we currently have.
They are not perfectly ten-sigma for reasons of physical geometry.
</comment>

<constant name="offset_central_RP_section" value ="0.71*cm"/>
<constant name="offset_intermediate_1_RP_section" value ="0.55*cm"/>
<constant name="offset_intermediate_2_RP_section" value ="0.0*cm"/>
<constant name="offset_outer_RP_section" value ="0.0*cm"/>

</define>
12 changes: 12 additions & 0 deletions compact/fields/beamline_5x110_H2.xml
Original file line number Diff line number Diff line change
Expand Up @@ -55,4 +55,16 @@
<constant name="Q0EF_BMax" value="0.0*tesla"/>
<constant name="Q1EF_BMax" value="0.0*tesla"/>

<comment>
These are the ten-sigma cuts for the Roman pots, translated to the physical layout we currently have.
They are not perfectly ten-sigma for reasons of physical geometry.

Nuclei currently based on nearest per-nucleon proton energy (needs eventual update from machine).
</comment>

<constant name="offset_central_RP_section" value ="0.71*cm"/>
<constant name="offset_intermediate_1_RP_section" value ="0.55*cm"/>
<constant name="offset_intermediate_2_RP_section" value ="0.0*cm"/>
<constant name="offset_outer_RP_section" value ="0.0*cm"/>

</define>
10 changes: 10 additions & 0 deletions compact/fields/beamline_5x41.xml
Original file line number Diff line number Diff line change
Expand Up @@ -54,4 +54,14 @@
<constant name="Q0EF_BMax" value="0.0*tesla"/>
<constant name="Q1EF_BMax" value="0.0*tesla"/>

<comment>
These are the ten-sigma cuts for the Roman pots, translated to the physical layout we currently have.
They are not perfectly ten-sigma for reasons of physical geometry.
</comment>

<constant name="offset_central_RP_section" value ="2.96*cm"/>
<constant name="offset_intermediate_1_RP_section" value ="2.75*cm"/> <!-- rough extrapolation -->
<constant name="offset_intermediate_2_RP_section" value ="1.80*cm"/> <!-- rough extrapolation -->
<constant name="offset_outer_RP_section" value ="0.0*cm"/>

</define>
12 changes: 12 additions & 0 deletions compact/fields/beamline_5x41_H2.xml
Original file line number Diff line number Diff line change
Expand Up @@ -55,4 +55,16 @@
<constant name="Q0EF_BMax" value="0.0*tesla"/>
<constant name="Q1EF_BMax" value="0.0*tesla"/>

<comment>
These are the ten-sigma cuts for the Roman pots, translated to the physical layout we currently have.
They are not perfectly ten-sigma for reasons of physical geometry.

Nuclei currently based on nearest per-nucleon proton energy (needs eventual update from machine).
</comment>

<constant name="offset_central_RP_section" value ="2.96*cm"/>
<constant name="offset_intermediate_1_RP_section" value ="2.75*cm"/> <!-- rough extrapolation -->
<constant name="offset_intermediate_2_RP_section" value ="1.80*cm"/> <!-- rough extrapolation -->
<constant name="offset_outer_RP_section" value ="0.0*cm"/>

</define>
12 changes: 12 additions & 0 deletions compact/fields/beamline_5x41_He3.xml
Original file line number Diff line number Diff line change
Expand Up @@ -55,4 +55,16 @@
<constant name="Q0EF_BMax" value="0.0*tesla"/>
<constant name="Q1EF_BMax" value="0.0*tesla"/>

<comment>
These are the ten-sigma cuts for the Roman pots, translated to the physical layout we currently have.
They are not perfectly ten-sigma for reasons of physical geometry.

Nuclei currently based on nearest per-nucleon proton energy (needs eventual update from machine).
</comment>

<constant name="offset_central_RP_section" value ="2.96*cm"/>
<constant name="offset_intermediate_1_RP_section" value ="2.75*cm"/> <!-- rough extrapolation -->
<constant name="offset_intermediate_2_RP_section" value ="1.80*cm"/> <!-- rough extrapolation -->
<constant name="offset_outer_RP_section" value ="0.0*cm"/>

</define>
12 changes: 12 additions & 0 deletions compact/fields/beamline_5x41_He4.xml
Original file line number Diff line number Diff line change
Expand Up @@ -55,4 +55,16 @@
<constant name="Q0EF_BMax" value="0.0*tesla"/>
<constant name="Q1EF_BMax" value="0.0*tesla"/>

<comment>
These are the ten-sigma cuts for the Roman pots, translated to the physical layout we currently have.
They are not perfectly ten-sigma for reasons of physical geometry.

Nuclei currently based on nearest per-nucleon proton energy (needs eventual update from machine).
</comment>

<constant name="offset_central_RP_section" value ="2.96*cm"/>
<constant name="offset_intermediate_1_RP_section" value ="2.75*cm"/> <!-- rough extrapolation -->
<constant name="offset_intermediate_2_RP_section" value ="1.80*cm"/> <!-- rough extrapolation -->
<constant name="offset_outer_RP_section" value ="0.0*cm"/>

</define>
1 change: 1 addition & 0 deletions configurations/inner_detector.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ features:
tof_barrel:
tof_endcap:
ecal:
forward_homogeneous:
bic_default:
backward_PbWO4:
pid:
Expand Down
10 changes: 8 additions & 2 deletions src/BeamPipeChain_geo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector /
double thickness = getAttrOrDefault<double>(x_det, _Unicode(wall_thickness), 0);

vector<string> names;
vector<int> ids;
vector<double> xCenters;
vector<double> zCenters;
vector<double> lengths;
Expand All @@ -44,6 +45,7 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector /
xml_comp_t pipe(pipe_coll);

names.push_back(getAttrOrDefault<string>(pipe, _Unicode(name), ""));
ids.push_back(getAttrOrDefault<int>(pipe, _Unicode(id), 0));

// Vectors momentarily filled with zeros for pipes in between magnets
xCenters.push_back(getAttrOrDefault<double>(pipe, _Unicode(xcenter), 0));
Expand Down Expand Up @@ -108,8 +110,12 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector /

assembly.placeVolume(v_tube, Transform3D(RotationY(thetas[pipeN]),
Position(xCenters[pipeN], 0, zCenters[pipeN])));
assembly.placeVolume(v_vacuum, Transform3D(RotationY(thetas[pipeN]),
Position(xCenters[pipeN], 0, zCenters[pipeN])));
auto placed_vacuum =
assembly.placeVolume(v_vacuum, Transform3D(RotationY(thetas[pipeN]),
Position(xCenters[pipeN], 0, zCenters[pipeN])));

DetElement vacuum_element(sdet, names[pipeN] + "_vacuum", ids[pipeN]);
vacuum_element.setPlacement(placed_vacuum);
}

// Final placement
Expand Down
Loading

0 comments on commit 21cac30

Please sign in to comment.