Update
11/2/11: Forward
and reverse transfer function for the right arm in the x>2 configuration with Q3 at 87.72289% of nominal. For the
reverse functions CLICK HERE. For the forward functions CLICK HERE.

Update
6/30/11: Forward
and reverse transfer function for the right arm in the g2p configuration with
the target field off (i.e. B_{target}=0). For
the reverse functions CLICK HERE. For the forward functions CLICK HERE.

Update
3/22/11:
Forward and reverse transfer function for the mistuned Right arm in PVDIS (Q1
1.1613% high) are now available. For the reverse functions CLICK HERE. For the forward functions CLICK HERE.

Update
11/1/10: Forward
and reverse transfer function for the mistuned left arm configuration (Q_{2}
and Q_{3} both 8.5% low) are now available. For reverse functions CLICK HERE. For the forward functions CLICK HERE.

Update
4/22/09: Forward
Transfer functions for the right hrs at 5 degrees using the PREX room
temperature septum are now available, but with optics ** optimized for the PREX detector**, (x|θ)=(y|φ)=0 60 cm downstream of the 1

Update
3/11/09: Forward
and Reverse Transfer functions for the right hrs with Q1 and Q2 moved forward
pair-wise 80 cm are now available. CLICK
HERE to get the forward functions. CLICK
HERE to get the reverse functions.

Update
11/17/2008: Forward
Transfer functions for the right HRS at 5 degrees using the PREX room
temperature septum are now available. CLICK
HERE to get them.

Update
10/19/2006: Reverse
transfer functions the right
Hrs with septum at 9 degrees are now available. Reverse
function usage is described below.

CLICK
HERE: for reverse functions for
the right spectrometer at 9 degrees

Update
5/2/05: Forward transfer
functions for the right Hrs with septum at 9 degrees are now available.

CLICK
HERE: for forward functions for
the right spectrometer at 9 degrees

Update
4/4/04: Transfer
functions are now available (forward and reverse) for the left septum+hrs at 6 degrees. Reverse function usage is
described below. R-functions
are also available (see
below).

CLICK
HERE: for forward functions for
the left spectrometer at 6 degrees

CLICK
HERE: for reverse functions for
the left spectrometer at 6 degrees

-JJL

Update

CLICK
HERE: for forward
functions for the right spectrometer at 6 degrees

CLICK
HERE: for reverse
functions for the right spectrometer at 6 degrees

-JJL

Update
4/26/02: I
have corrected the SNAKE description of the dipole entrance and exit fringe
fields to give a more correct 1st^{ }order transverse matrix. The
dispersive matrix, which was good already, is essentially unchanged. Transverse
trajectory distributions at the VDC's should look much more like the real thing
and acceptance effects from the dipole exit aperture should be improved. New
functions reflecting the change can be found at:

CLICK
HERE: for
forward functions both left and right (the same _e_ and _h_ naming convention
is used as before)

CLICK
HERE: for Right
(formerly Hadron) reverse functions

CLICK
HERE: for Left
(formerly Electron) reverse functions

Instructions for
usage are the same as before (see below)

For r-functions reflecting the new optics model (including Left and
Right Septa at 6 degrees) CLICK HERE:

-JJL

Update

The
error was such that x at the dipole entrance (returned from x_e_dent
or x_h_dent) had the wrong sign. Because of the
trapezoidal nature of the aperture at the dipole this makes a small error in
the acceptance as determined by the dipole entrance aperture. new_monte_trans.f has been
updated.

HRS
Transfer Functions: (based on the John LeRose's SNAKE models
of the spectrometers as of

**n.b****. Electron Arm reverse functions before 10/13/99 were slightly incorrect. The new ones
will agree better with the forward going functions.**

**4/11/00****: Forward functions have
been updated to give improved x_{0} dependence.
The old functions can still be found in the file monte_trans.f
the new ones are in new_monte_trans.f (see below)**

**4/11/00****: Preliminary
forward functions for HRS with septum attached are now also available.**

**Units:** all functions use
meters, tangents of angles, and delta expressed as a dimensionless fraction.

**Language:** fortran

__The
Forward Going Transfer functions__ (target toward detectors) can be found in:

**See notice above
for location of newest and best functions.**

~lerose/magnets/SNAKE/MUDIFI/monte-carlo/new_monte_trans.f (formerly monte_trans.f)

For
spectrometer with septum attached see:

~lerose/magnets/SNAKE/MUDIFI/monte-carlo/septum_monte_trans.f

Their use is
explained in the comments with the code. (domega.f
in the same subdirectory is an example of how they are used.)

__The Apertures:__

Q1 exit is a
circle of radius 0.1492 m (as measured by Makis)

Q3 entrance
and exit are circles of radius 0.300 m

The dipole
entrance and exit are trapezoids:

-0.40 m<x<0.40 m
(+x is down) (this is a "soft" aperture in that it indicates the
approximate end of the good field region but not necessarily any real physical
object)

y=+-(0.125*(1-(1.25*x/8.40))
(smallest gap at positive x, x in m)

Remember the
functions give you meters.

__The
Reverse Functions__
(detector
to target) are in the following:

**See notice above
for location of newest and best functions.**

For the
electron arm the file is:

~lerose/magnets/SNAKE/MUDIFI/comm8_funcs.f

For the hadron arm:

~lerose/magnets/SNAKE/MUDIFI/hcomm8_f.f

Now a few
words about reverse function usage.

In each file
there are 5 fortran
functions:

TXFIT(x,m)

delta(x,m)

theta(x,m)

phi(x,m)

y00(x,m)

Calling
convention is as follows. x is an array in which
x(1->5) are xf, thetaf, yf, phif, and x0 (the detector
coordinates in the transport coordinate system and the vertical position of the
beam at the target). For TXFIT m=1 for all others m=5.

**n.b****.** For the reverse functions for the right and left hrs
(4/26/02 above) there is no x0 dependence. For those reverse functions m=4.

Procedure:

Convert
theta to a new orthogonalized theta' as follows:

theta'=theta-TXFIT(x,1)

Put the new
theta' into your x array (or x(2)=x(2)-TXFIT(x,1)
should work)

Then I think
it's self-explanitory:

delta0 = delta(x,5)

theta0= theta(x,5)

phi0=phi(x,5)

y0=y00(x,5)

Please send comments or questions to John LeRose: lerose@jlab.org