Skip to content

Commit

Permalink
[IDEA] Add a solenoid and magnetic fields
Browse files Browse the repository at this point in the history
  • Loading branch information
BrieucF committed Mar 1, 2024
1 parent 1f099ab commit 3a3641c
Show file tree
Hide file tree
Showing 3 changed files with 85 additions and 6 deletions.
12 changes: 6 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,12 @@
<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"/>

<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 +137,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
29 changes: 29 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,38 @@
<!-- Import silicon wrapper -->
<!-- <include ref="SiliconWrapper_o1_v01.xml"/> -->

<!-- Import solenoid -->
<include ref="Solenoid_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 -->
</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>

0 comments on commit 3a3641c

Please sign in to comment.