<?xml version="1.0" encoding="UTF-8"?>
<!--DOCTYPE HDDS>

  GlueX Tagging Spectrometer
  ***************************

     version 1.0: Initial version	-rtj

<HDDS specification="v1.0" xmlns="http://www.gluex.org/hdds">
-->

<section name        = "TaggingSpectrometer"
         version     = "1.0"
         date        = "2006-01-14"
         author      = "R.T. Jones"
         top_volume  = "electronArm"
         specification = "v1.0">

<!-- The spectrometer consists of a series of independently placed
     components.  The origins of the magnets themselves (quadrupole
     and dipoles) are the geometric centers of their field regions.
     For other components see further comments below.              -->

  <composition name="quadrupoleAsy">
    <posXYZ volume="quadrupoleVacPipe" X_Y_Z="0 0 -135.0 "/>
    <posXYZ volume="QUAD" X_Y_Z="0 0 -150.0 "/>
  </composition>
  <composition name="quadrupoleVacPipe" envelope="QUAV">
    <posXYZ volume="QUAP"/>
  </composition>
  <tubs name="QUAV" Rio_Z="0.0 1.9 274.2" material="TaggerVacuum">
    <apply region="babySteps"/>
  </tubs>
  <tubs name="QUAP" Rio_Z="1.75 1.9 274.0" material="Iron" />
  <tubs name="QUAD" Rio_Z="2.0 12.0 60.0" material="Iron" />

<!-- The two dipoles are identical, except that the first one has
     a hole cut through the yoke to allow the photons to exit      -->

  <composition name="taggerDipole1">
    <posXYZ volume="SHOE" X_Y_Z="0 +12.0 0"/>
    <posXYZ volume="SHOE" X_Y_Z="0 -12.0 0"/>
    <posXYZ volume="YOK1" X_Y_Z="62.5 0 0"/>
    <posXYZ volume="YOKC" X_Y_Z="32.0 +46.5 0"/>
    <posXYZ volume="YOKC" X_Y_Z="32.0 -46.5 0"/>
  </composition>
  <composition name="taggerDipole2">
    <posXYZ volume="SHOE" X_Y_Z="0 +12.0 0"/>
    <posXYZ volume="SHOE" X_Y_Z="0 -12.0 0"/>
    <posXYZ volume="dipoleYoke2" X_Y_Z="62.5 0 0"/>
    <posXYZ volume="YOKC" X_Y_Z="32.0 +46.5 0"/>
    <posXYZ volume="YOKC" X_Y_Z="32.0 -46.5 0"/>
  </composition>
  <box name="SHOE" X_Y_Z="45.0 21.0 306.4623" material="Iron"/>
  <box name="YOKC" X_Y_Z="109.0 48.0 306.4623" material="Iron"/>
  <box name="YOK1" X_Y_Z="48.0 45.0 306.4623" material="Iron"/>
  <box name="YOK2" X_Y_Z="48.0 45.0 306.4623" material="Iron"/>
  <composition name="dipoleYoke2" envelope="YOK2">
    <posXYZ volume="PXHO" X_Y_Z="-4.536 0 0" rot="0 6.79 0"/>
  </composition>
  <tubs name="PXHO" Rio_Z="0.0 1.5 309.0" material="TaggerVacuum"/>

<!-- The vacuum box is a complicated shape with many oblique angles
     that are difficult to model exactly using simple CSG shapes.  I
     decided instead to approximate it by a series of trd volumes that
     are placed so as to abutt each other.  When they are placed they
     have the effect of making one large volume.  The origin of the
     vacuum box is the place where the nominal electron beam axis enters
     the entrance plane of the vacuum box.                                -->

  <composition name="vacuumBox">
    <posXYZ volume="vacuumBoxSegment1" X_Y_Z="-28.337 0 148.742"/>
    <posXYZ volume="vacuumBoxSegment2" X_Y_Z="-81.804 0 477.485"/>
    <posXYZ volume="vacuumBoxSegment3" X_Y_Z="-165.953 0 887.485"/>
    <posXYZ volume="vacuumBoxSegment4" X_Y_Z="-217.565 0 1177.756"/>
    <posXYZ volume="vacuumBoxSnout" X_Y_Z="-221.308 0 1238.528"
                                                 rot="0 -13.4 0"/>
    <posXYZ volume="vacuumBoxExitFlange" X_Y_Z="-154.238 0 603.582"
                                                 rot="0 -9.94 0"/>
  </composition>
  <composition name="vacuumBoxSegment1" envelope="VBS1">
    <posXYZ volume="VBF1" X_Y_Z="0 -3.3 0"/>
    <posXYZ volume="VBF1" X_Y_Z="0 +3.3 0"/>
    <posXYZ volume="VBB1" X_Y_Z="45.133 0 0" rot="0 -4.73 0"/>
    <posXYZ volume="vacuumBoxEntryWall" X_Y_Z="19.187 0 -148.242"/>
    <posXYZ volume="VBW1" X_Y_Z="-45.334 0 0" rot="0 -9.94 0"/>
  </composition>
  <composition name="vacuumBoxSegment2" envelope="VBS2">
    <posXYZ volume="VBF2" X_Y_Z="0 -3.3 0"/>
    <posXYZ volume="VBF2" X_Y_Z="0 +3.3 0"/>
    <posXYZ volume="VBB2" X_Y_Z="51.304 0 0" rot="0 -6.97 0"/>
    <posXYZ volume="VBW2" X_Y_Z="-49.504 0 0" rot="0 -9.94 0"/>
  </composition>
  <composition name="vacuumBoxSegment3" envelope="VBS3">
    <posXYZ volume="VBF3" X_Y_Z="0 -3.3 0"/>
    <posXYZ volume="VBF3" X_Y_Z="0 +3.3 0"/>
    <posXYZ volume="VBB3" X_Y_Z="37.038 0 0" rot="0 -13.55 0"/>
    <posXYZ volume="VBW3" X_Y_Z="-37.238 0 0" rot="0 -9.94 0"/>
  </composition>
  <composition name="vacuumBoxSegment4" envelope="VBS4">
    <posXYZ volume="VBF4" X_Y_Z="0 -3.3 0"/>
    <posXYZ volume="VBF4" X_Y_Z="0 +3.3 0"/>
    <posXYZ volume="VBB4" X_Y_Z="18.877 0 0" rot="0 -13.4 0"/>
    <posXYZ volume="VBW4" X_Y_Z="-19.077 0 0" rot="0 6.53 0"/>
  </composition>
  <composition name="vacuumBoxSnout" envelope="VBS5">
    <posXYZ volume="VBF5" X_Y_Z="0 -3.3 0"/>
    <posXYZ volume="VBF5" X_Y_Z="0 +3.3 0"/>
    <posXYZ volume="VBB5" X_Y_Z="8.023 0 0"/>
    <posXYZ volume="VBW5" X_Y_Z="-5.0 0 2.030"/>
  </composition>

  <trd name="VBS1" Xmp_Ymp_Z="77.485 105.049 7.6 7.6 297.485"
       material="TaggerVacuum" inclination="-7.35 0" unit_angle="deg"/>
  <trd name="VBF1" Xmp_Ymp_Z="77.485 105.049 1.0 1.0 297.485"
       material="Iron" inclination="-7.35 0" unit_angle="deg"/>
  <trd name="VBS2" Xmp_Ymp_Z="88.049 111.166 7.6 7.6 360.0" 
       material="TaggerVacuum" inclination="-8.15 0" unit_angle="deg"/>
  <trd name="VBF2" Xmp_Ymp_Z="88.049 111.166 1.0 1.0 360.0"
       material="Iron" inclination="-8.15 0" unit_angle="deg"/>
  <trd name="VBS3" Xmp_Ymp_Z="90.166 59.986 7.6 7.6 460.0"
       material="TaggerVacuum" inclination="-11.76 0" unit_angle="deg"/>
  <trd name="VBF3" Xmp_Ymp_Z="90.166 59.986 1.0 1.0 460.0"
       material="Iron" inclination="-11.76 0" unit_angle="deg"/>
  <trd name="VBS4" Xmp_Ymp_Z="59.986 17.522 7.6 7.6 120.543"
       material="TaggerVacuum" inclination="-3.55 0" unit_angle="deg"/>
  <trd name="VBF4" Xmp_Ymp_Z="59.986 17.522 1.0 1.0 120.543"
       material="Iron" inclination="-3.55 0" unit_angle="deg"/>
  <box name="VBS5" X_Y_Z="17.045 7.6 5.060" material="TaggerVacuum"/>
  <box name="VBF5" X_Y_Z="17.045 1.0 5.060" material="Iron"/>

  <box name="VBB1" X_Y_Z="1.0 5.6 298.500" material="Iron"/>
  <box name="VBB2" X_Y_Z="1.0 5.6 362.679" material="Iron"/>
  <box name="VBB3" X_Y_Z="1.0 5.6 473.163" material="Iron"/>
  <box name="VBB4" X_Y_Z="1.0 5.6 123.917" material="Iron"/>
  <box name="VBB5" X_Y_Z="1.0 5.6 5.060" material="Iron"/>
  <box name="VBW1" X_Y_Z="0.1 5.6 302.022" material="Aluminum"/>
  <box name="VBW2" X_Y_Z="0.1 5.6 365.491" material="Aluminum"/>
  <box name="VBW3" X_Y_Z="0.1 5.6 467.017" material="Aluminum"/>
  <box name="VBW4" X_Y_Z="1.0 5.6 121.324" material="Aluminum"/>
  <box name="VBW5" X_Y_Z="7.045 5.6 1.0" material="Aluminum"/>

  <composition name="vacuumBoxEntryWall" envelope="VBE1">
    <posXYZ volume="VBX1" X_Y_Z="9.149 0 0"/>
  </composition>
  <box name="VBE1" X_Y_Z="77.485 5.6 1.0" material="Iron"/>
  <tubs name="VBX1" Rio_Z="0 1.5 1.05" material="TaggerVacuum"/>

  <composition name="electronExitTube" envelope="EDUT">
    <posXYZ volume="EDIT" X_Y_Z="-0.5 0 0"/>
  </composition>
  <box name="EDUT" X_Y_Z="10.0 5.0 279.487" material="Iron"/>
  <box name="EDIT" X_Y_Z="8.0 4.0 279.587" material="TaggerVacuum"/>

  <composition name="vacuumBoxExitFlange" envelope="VBXF">
    <posXYZ volume="VBXS"/>
  </composition>
  <box name="VBXF" X_Y_Z="1.0 5.0 1000.0" material="Iron"/>
  <box name="VBXS" X_Y_Z="1.0 3.0 980.0" material="Air"/>

</section>

<!-- </HDDS> -->
