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

  Hall D Geometry Data Base: Fields
  *********************************

     version 1.0: Initial version with constant fields
                  and maps.	                  -rtj
 
<HDDS specification="v1.0" xmlns="http://www.gluex.org/hdds">
-->

<regions version="1.0"
	 date="2006-01-08"
	 author="R.T. Jones"
         specification="v1.0" >

  <!-- The beam line dipole fields -->

  <region name="sweepDipoleBfield"
          comment="photon beam collimator cleanup dipole field">
    <uniformBfield Bx_By_Bz="0 0 2" unit="kG"/>
  </region>
 
  <!-- The tagger dipole field map -->

  <region name="taggerBfield" comment="tagging spectrometer field map">
    <mappedBfield map="file://taggerBfield-quad.map" encoding="utf-8"
                  maxBfield="18e3" unit="G">
      <grid type="cartesian">
        <samples axis="x" n="351" bounds="10 -340" 
                                  sense="reverse" unit_length="cm">
          <samples axis="z" n="1611" bounds="-10 1600"
                                     sense="reverse" unit_length="cm">
            <samples axis="y" n="16" bounds="0 -1.5" unit_length="cm"/>
          </samples>
        </samples>
      </grid>
      <grid type="cartesian">
        <samples axis="x" n="351" bounds="10 -340" unit_length="cm">
          <samples axis="z" n="1611" bounds="-10 1600" unit_length="cm">
            <samples axis="y" n="16" bounds="0 1.5" unit_length="cm"/>
          </samples>
        </samples>
      </grid>
    </mappedBfield>
    <swim method="RungeKutta"/>
  </region>

  <!-- special field regions requiring finer tracking control -->

  <region name="babySteps" comment="specify for areas needing smaller steps"
          modifies="taggerBfield">
    <swim method="RungeKutta" maxArcStep="0.1" unit_angle="deg" />
  </region>

  <!-- The main solenoid field map -->

  <region name="solenoidBfield" comment="LASS spectrometer field map">
    <mappedBfield map="file://solenoid.map" encoding="utf-8"
                  maxBfield="22.4" unit="kG">
      <grid type="cylindrical">
        <samples axis="phi" n="1" bounds="0 360" unit_angle="deg">
          <samples axis="r" n="41" bounds="0 40" unit_length="in">
            <samples axis="z" n="251" bounds="4 254" unit_length="in"/>
          </samples>
        </samples>
      </grid>
    </mappedBfield>
    <swim method="helix"/>
  </region>

  <!-- This region can be used to force tracking in calorimeter
       modules to ignore the magnetic field that they are imbedded in -->

  <region name="nullBfield" comment="zero field regions for calorimeters">
    <noBfield/>
  </region>

</regions>
