Skip to content
Snippets Groups Projects
solenoid.xml 5.55 KiB
Newer Older
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
  <define>
    <comment>
      --------------------------
      Solenoid Magnet Parameters
      --------------------------
    </comment>
    <comment>Solenoid Barrel Parameters</comment>
    <constant name="SolenoidBarrelCryostatThickness"      value=" 1.0 * cm"/>
    <constant name="SolenoidBarrelGapThickness"           value=" 3.3 * cm"/>
    <constant name="SolenoidBarrelAlConductorThickness"   value="12.0 * cm"/>
    <constant name="SolenoidBarrelQuenchbackThickness"    value=" 1.5 * cm"/>
    <constant name="SolenoidBarrelOuterGapThickness"      value=" 5.6 * cm"/>
    <constant name="SolenoidBarrelOuterCryostatThickness" value=" 1.2 * cm"/>
    <constant name="SolenoidEndPlateGapThickness"           value=" 5.7 * cm"/>
    <constant name="SolenoidEndPlateCryostatThickness"      value=" 1.5 * cm"/>

    <comment> Solenoid Yoke Endcap </comment>
    <constant name="SolenoidYokeEndcap_thickness"  value="0.2 * m"/>


    <constant name="SolenoidCoilConductor_rmin" value="SolenoidBarrel_rmin + SolenoidBarrelCryostatThickness + SolenoidBarrelGapThickness"/>
    <constant name="SolenoidCoilConductor_rmax" value="SolenoidCoilConductor_rmin + SolenoidBarrelAlConductorThickness + SolenoidBarrelQuenchbackThickness"/>

    <constant name="SolenoidBarrel_rmax" value="SolenoidCoilConductor_rmax + SolenoidBarrelOuterGapThickness + SolenoidBarrelOuterCryostatThickness"/>

    <constant name="SolenoidCoil_zmax" 
              value="SolenoidBarrel_zmax - SolenoidEndPlateCryostatThickness - SolenoidEndPlateGapThickness"/>

    <constant name="SolenoidalFieldRadius" 
              value="SolenoidCoilConductor_rmin + SolenoidBarrelAlConductorThickness / 2.0"/>

    <constant name="SolenoidCoil_length" value="SolenoidCoil_zmax*2.0"/>

    <constant name="SolenoidYokeEndcapP_rmin"     value="SolenoidBarrel_rmin"/>
    <constant name="SolenoidYokeEndcapN_rmin"     value="SolenoidBarrel_rmin"/>
    <constant name="SolenoidYokeEndcapP_zmax"      value="SolenoidYokeEndcapP_zmin + SolenoidYokeEndcap_thickness"/>
    <constant name="SolenoidYokeEndcapN_zmax"      value="SolenoidYokeEndcapN_zmin + SolenoidYokeEndcap_thickness"/>

    <constant name="SolenoidYokeChamferAngle"    value="0.2"/>
  </define>

  <detectors>
    <comment>
      ---------------
      Solenoid Magnet
      ---------------
      The solenoid superconducting magnet and surrounding cryostat and
      yoke endcaps.
    </comment>
    <detector 
      id="Solenoid_ID"
      name="SolenoidCoilBarrel" 
      type="refdet_SolenoidCoil" 
      insideTrackingVolume="false">
      <position x="0" y="0" z="Solenoid_offset"/>
      <layer id="1" 
        inner_r="Solenoid_rmin" 
        outer_z="SolenoidBarrel_zmax" 
        vis="SolenoidCryostatVis">
        <slice material="Steel235" thickness="SolenoidBarrelCryostatThickness"/>
        <slice material="Vacuum" thickness="SolenoidBarrelGapThickness"/>
      </layer>
      <layer id="2" 
        inner_r="SolenoidCoilConductor_rmin" 
        outer_z="SolenoidCoil_zmax" 
        vis="SolenoidCoilVis">
        <slice material="Aluminum" thickness="SolenoidBarrelAlConductorThickness"/>
        <slice material="Aluminum" thickness="SolenoidBarrelQuenchbackThickness"/>
      </layer>
      <layer id="3" 
        inner_r="SolenoidCoilConductor_rmax" 
        outer_z="SolenoidBarrel_zmax" 
        vis="SolenoidCryostatVis">
        <slice material="Vacuum" thickness="SolenoidBarrelOuterGapThickness"/>
        <slice material="Steel235" thickness="SolenoidBarrelOuterCryostatThickness"/>
      </layer>
    </detector>

    <detector 
      id="SolenoidSupport_ID"
      name="SolenoidCoilEnds"
      type="ref_SolenoidEndcap"
      insideTrackingVolume="false"
      reflect="true"
      vis="SolenoidCryostatVis">
      <position x="0" y="0" z="Solenoid_offset"/>
      <layer id="1" 
        inner_z="SolenoidCoil_zmax" 
        inner_r="SolenoidCoilConductor_rmin" 
        outer_r="SolenoidCoilConductor_rmax">
        <slice material="Vacuum" thickness="SolenoidEndPlateGapThickness/2.0"/>
      </layer>
      <!--
      <layer id="2" 
        inner_z="SolenoidCoil_zmax + SolenoidEndPlateGapThickness" 
        inner_r="Solenoid_rmin+SolenoidBarrelCryostatThickness" 
        outer_r="SolenoidBarrel_rmax-SolenoidBarrelOuterCryostatThickness">
        <slice material="Steel235" thickness="SolenoidEndPlateCryostatThickness"/>
      </layer>
      -->
    </detector>

    <detector 
      id="SolenoidYoke_ID"
      name="SolenoidYokeEndcaps"
      type="ref_SolenoidEndcap"
      insideTrackingVolume="false"
      reflect="true"
      vis="SolenoidYokeVis">
      <position x="0" y="0" z="Solenoid_offset"/>
      <layer id="1" 
        vis="PurpleVis"
        inner_z="SolenoidBarrel_zmax + SolenoidEndPlateGapThickness" 
        inner_r="SolenoidYokeEndcapP_rmin" 
        outer_r="SolenoidBarrel_rmax">
        <slice material="Steel235" thickness="SolenoidYokeEndcap_thickness/2.0" vis="SolenoidYokeVis" />
      </layer>
    </detector>
    <!--
    <detector name="SolenoidYoke" type="SiEIC_Yoke" vis="SolenoidYokeVis">
      <material name="Steel235"/>
      <dimensions inner_radius="SolenoidYokeInnerRadius" thickness="SolenoidYokeThickness" rmin="CaloInnerRadius + 10 * mm" angle="SolenoidYokeChamferAngle" inner_z="SolenoidYokeInnerZ"/>
    </detector>
    -->
  </detectors>

  <fields>
    <field type="solenoid" name="GlobalSolenoid" inner_field="3.0 * tesla" outer_field="0.5*tesla" 
           zmin="-SolenoidCoil_zmax" zmax="SolenoidCoil_zmax" 
           inner_radius="SolenoidalFieldRadius" outer_radius="SolenoidalFieldRadius+20*cm"/>
  </fields>

</lccdd>