Skip to content
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

[IDEA] Add a solenoid and magnetic fields #327

Merged
merged 3 commits into from
Mar 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 12 additions & 6 deletions FCCee/IDEA/compact/IDEA_o1_v02/DectDimensions_IDEA_o1_v01.xml
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,18 @@
<constant name="DCH_outer_radius" value="2000*mm"/> <!-- Contact the drift chamber experts if you need to change the DC radiuses (just changing the radius is not enough, the DC has been optimized for those values, the detector geometry is constrained by many construction/mechanical/electronics/etc considerations -->
<constant name="DCH_half_length" value="2250*mm"/> <!-- this includes the services -->

<constant name="Solenoid_inner_radius" value="2100*mm"/>
<constant name="Solenoid_outer_radius" value="2400*mm"/>
<constant name="Solenoid_half_length" value="2500*mm"/>
<constant name="Solenoid_Coil_half_length" value="Solenoid_half_length-200*mm"/>
<constant name="Solenoid_Coil_radius" value="Solenoid_inner_radius+200*mm"/>

<!-- These are lead plates that we put in the endcap to have the same material budget (from solenoid) as in the barrel-->
<constant name="EndPlateAbsorber_inner_radius" value="380*mm"/>
<constant name="EndPlateAbsorber_outer_radius" value="2090*mm"/>
<constant name="EndPlateAbsorber_z_min" value="2490*mm"/>
<constant name="EndPlateAbsorber_z_half_length" value="4.209/2.0*mm"/>

<constant name="ECalBarrel_inner_radius" value="2150*mm"/>
<constant name="ECalBarrel_outer_radius" value="2352*mm"/>
<constant name="ECalBarrel_half_length" value="2210*mm"/>
Expand Down Expand Up @@ -131,12 +143,6 @@
<constant name="HCalRing_max_z" value="HCalEndcap_min_z"/>
<constant name="HCalRing_symmetry" value="12"/>

<constant name="Solenoid_inner_radius" value="3719*mm"/>
<constant name="Solenoid_outer_radius" value="4272*mm"/>
<constant name="Solenoid_half_length" value="3705*mm"/>
<constant name="Solenoid_Coil_half_length" value="3476*mm"/>
<constant name="Solenoid_Coil_radius" value="3930*mm"/>

<constant name="YokeBarrel_inner_radius" value="4479*mm"/>
<constant name="YokeBarrel_outer_radius" value="6000*mm"/>
<constant name="YokeBarrel_half_length" value="3755*mm"/>
Expand Down
21 changes: 21 additions & 0 deletions FCCee/IDEA/compact/IDEA_o1_v02/EndPlateAbsorber_o1_v01.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<lccdd>

<info name="EndPlateAbsorber" title="EndPlateAbsorber" status="development" version="$Id: $">
<comment>
Endcap plate absorber to mimic the material budget from the solenoid (0.75 X0) present only in the barrel and start the showers.
</comment>
</info>

<detectors>

<detector name="EndPlateAbsorber_positive" type="SimpleCylinder_o1_v01" vis="muon_vis">
<dimensions rmin="EndPlateAbsorber_inner_radius" rmax="EndPlateAbsorber_outer_radius" dz="EndPlateAbsorber_z_half_length" z_offset = "EndPlateAbsorber_z_min + EndPlateAbsorber_z_half_length" material="Lead" phi0="0" deltaphi="360*deg" vis="muon_vis"/>
</detector>

<detector name="EndPlateAbsorber_negative" type="SimpleCylinder_o1_v01" vis="muon_vis">
<dimensions rmin="EndPlateAbsorber_inner_radius" rmax="EndPlateAbsorber_outer_radius" dz="EndPlateAbsorber_z_half_length" z_offset = "-1*(EndPlateAbsorber_z_min + EndPlateAbsorber_z_half_length)" material="Lead" phi0="0" deltaphi="360*deg" vis="muon_vis"/>
</detector>

</detectors>

</lccdd>
32 changes: 32 additions & 0 deletions FCCee/IDEA/compact/IDEA_o1_v02/IDEA_o1_v02.xml
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,41 @@
<!-- Import silicon wrapper -->
<!-- <include ref="SiliconWrapper_o1_v01.xml"/> -->

<!-- Import solenoid -->
<include ref="Solenoid_o1_v01.xml"/>

<!-- Import Endcap plate absorber -->
<include ref="EndPlateAbsorber_o1_v01.xml"/>

<plugins>
<plugin name="DD4hepVolumeManager"/>
<plugin name="InstallSurfaceManager"/>
</plugins>

<fields>
<field name="GlobalSolenoid" type="solenoid"
inner_field="SolenoidField"
outer_field="-1.0*tesla"
zmax="Solenoid_Coil_half_length"
outer_radius="Solenoid_Coil_radius">
</field>

<!-- FIXME cross-check this with MDI crew -->
<field name="CompensatingSolenoidZplus" type="solenoid"
inner_field="-SolenoidField -SolenoidField * QD0_min_z / ( QD0_min_z - CompSol_min_z)"
outer_field="0*tesla"
zmax="QD0_min_z"
zmin="CompSol_min_z"
outer_radius="20*cm">
</field>

<field name="CompensatingSolenoidZminus" type="solenoid"
inner_field="-SolenoidField -SolenoidField * QD0_min_z / ( QD0_min_z - CompSol_min_z)"
outer_field="0*tesla"
zmin="-QD0_min_z"
zmax="-CompSol_min_z"
outer_radius="20*cm">
</field>
</fields>

</lccdd>
50 changes: 50 additions & 0 deletions FCCee/IDEA/compact/IDEA_o1_v02/Solenoid_o1_v01.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<lccdd>
<info name="Solenoid" title="Solenoid" status="development" version="$Id: $">
<comment>
This is a solenoid place holder. It has the right spacial extent and overall accounts for the 0.75 X0 but its internals should be revised by ultra-thin magnet designers -->
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This is a solenoid place holder. It has the right spacial extent and overall accounts for the 0.75 X0 but its internals should be revised by ultra-thin magnet designers -->
This is a solenoid place holder. It has the right spacial extent and overall accounts for the 0.75 X0 but its internals should be revised by ultra-thin magnet designers

</comment>
</info>

<define>
<constant name="SolenoidVacuumTank_thickness" value="5*mm"/>
<constant name="SolenoidCoil_thickness" value="16*mm"/>
</define>

<display>
<vis name="SolenoidBarrelLayerVis" alpha="1" r="0" g="0.3" b="0.3" showDaughters="false" visible="true"/>
<vis name="SolenoidCoilEndsVis" alpha="1" r="0" g="0.9" b="0.9" showDaughters="false" visible="true"/>
<vis name="SolenoidVacuum" alpha="0" r="1" g="1" b="1" showDaughters="false" visible="true"/>
</display>

<detectors>

<detector name="Solenoid" type="DD4hep_SubdetectorAssembly" vis="SOLVis">
<shape type="Tube" rmin="Solenoid_inner_radius-2*env_safety" rmax="Solenoid_outer_radius+2*env_safety" dz="Solenoid_half_length+2*env_safety" material="Vacuum"/>
<composite name="SolenoidBarrel"/>
<composite name="SolenoidEndcaps"/>
</detector>

<detector name="SolenoidBarrel" type="DD4hep_Solenoid_o1_v01" id="0" reflect="true">
<type_flags type=" DetType_COIL"/>
<envelope vis="SOLVis">
<shape type="Assembly"/>
</envelope>
<layer id="1" inner_r="Solenoid_inner_radius" outer_z="Solenoid_half_length" vis="SolenoidBarrelLayerVis">
<slice material="Steel235" thickness="SolenoidVacuumTank_thickness"/>
</layer>
<layer id="2" inner_r="Solenoid_Coil_radius-SolenoidCoil_thickness/2.0" outer_z="Solenoid_Coil_half_length">
<slice material="Aluminum" thickness="SolenoidCoil_thickness" vis="SolenoidCoilEndsVis" />
</layer>
<layer id="3" inner_r="Solenoid_outer_radius-SolenoidVacuumTank_thickness" outer_z="Solenoid_half_length" vis="SolenoidBarrelLayerVis">
<slice material="Steel235" thickness="SolenoidVacuumTank_thickness"/>
</layer>
</detector>

<detector name="SolenoidEndcaps" type="DD4hep_DiskTracker" id="0" reflect="true" vis="SolenoidBarrelLayerVis">
<layer id="1" inner_r="Solenoid_inner_radius+SolenoidVacuumTank_thickness" inner_z="Solenoid_half_length-SolenoidVacuumTank_thickness" outer_r="Solenoid_outer_radius-SolenoidVacuumTank_thickness" vis="SolenoidBarrelLayerVis">
<slice material="Steel235" thickness="SolenoidVacuumTank_thickness/2.0" />
</layer>
</detector>

</detectors>
</lccdd>
2 changes: 1 addition & 1 deletion FCCee/IDEA/compact/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
IDEA
====
IDEA_o1_v01: IDEA version picked from the latest version in FCCDetectors repo
IDEA_o1_v02: Based on o1_v01 but with a detailed description of the vertex detector and the drift chamber
IDEA_o1_v02: Based on o1_v01 but with a detailed description of the vertex detector and the drift chamber, a place holder solenoid and the endplate absorber. Missing: SiWrapper, calorimeter, detailed muons system (coming soon).
Loading