Urs Rohrer

Compendium of Transport EnhancementsTransport Compendium

                                 - 1 -

                 Mostly compiled during the years 1978-87 by
                          Urs C. Rohrer, PSI (SIN)
                     CH-5232 Villigen-PSI, Switzerland


            Now (2006) supported on following computers (operating systems):

            a)      Intel-PC with Windows 9x (95, 98 and Me)
            b)      Intel-PC with Windows NT 4.0
            c)      Intel-PC with Windows 2000, XP
            d)      Intel-PC with x86-Linux (Kernels 2.4.x and 2.6.x)
	    e)      Apple Macintosh with OSX-X11
	    f)      Cygwin (on bootable U_R_live_CD)

            Support expired on following computers (operating systems):

            g)      Atari ST (TOS)
            h)      Intel-PC (PC-DOS, GEM)
            i)      Intel-PC with Windows 3.1x
            j)      Compac Alpha (openVMS)

            Caution: not all features are supported on all systems.

            Check also: "Recent Transport Modification History"

                                Contents:
                                ---------

   1.   FRINGING FIELDS for quadrupoles: Type code 2.0               2
   2.   QUADRUPOLE: Type code 5.0                                    2
   3.   SLITS: Type code 6.0                                         2
   4.   FITTING CONSTRAINTS: Type code 10.0                          3
   4.1    Total bending angle.                                       3
   4.2    Algebraic combination of matrix elements constraint.       3
   5.   ACCELERATION: Type code 11.0                                 4
   6.   CORRELATION MATRIX: Type code 12.0                           6
   7.   INPUT-OUTPUT instructions: Type code 13.0                    6
   7.1    PRINT CONTROL instructions.                                6
   7.2    Bend magnet input specifications 47. and 48.               6
   8.   SPECIAL INPUT PARAMETERS: Type code 16.0                     6
   8.1    Half-aperture of bending magnets.                          6
   8.2    Lithium or plasma lens 97., 98.                            6
   8.3    Initial Beam Parameters for Periodic beam lines.           7
   8.4    Stochastic fit procedure.                                  8
   8.5    Additional newly created special parameters.               9
   9.   SOLENOID: Type code 19.0                                    10
   10.  WIEN FILTER: Type code 21.0                                 11
   11.  SPACE CHARGE Type Code 22.0                                 12
   12.  RF CAVITY (Buncher) Type Code 23.0                          13
   13.  ALGEBRAIC COMBINATIONS OF MATRIX ELEMENTS DEFINING            
        REGISTER CONTENTS: Type code 24.0                           14
   14.  ALGEBRAIC COMBINATIONS OF MATRIX ELEMENTS FORMING             
        COMBINATIONS: type code 25.0                                15
   15.  VARY CODE LIMITS: Type code 50.0                            15
   16.  APPENDIX A: Implementation notes for VAX-VMS TRANSPORT.     16
   16.1   Table of different transport commands.                    17
   16.2   Table of parameters on display parameter file (F0R004)    18
   16.3   How to transfer measured beam line data into Transport      
          input files?                                              19
   16.4   Training with built-in examples.                          20
   17.  APPENDIX B: Graphic User Interface (GUI) for MS-Windows.    21
   18.  APPENDIX C: New formula for quadrupole excitation curves.   21
   19.  APPENDIX D: Graphic User Interface (GUI) for LINUX.         21
   20.  REFERENCES                                                  22
Back to about:Graphic Transport

                                  - 2 -


   1.  FRINGING FIELDS for quadrupoles:  Type code 2.0
   ---------------------------------------------------
      For short quadrupoles with large apertures a prediction about the
   beam behaviour with TRANSPORT (as well as TURTLE) is becoming rather
   inaccurate because of the shape of the field simply represented by
   a rectangular potential well. The computer code GIOS [9]which takes
   also into account the fringing field effects of quadrupoles [10] gives
   much better predictions. So the TTANSPORT code has also been expanded
   with this very useful feature.

   There are two parameters:

   1 -  Type code 2.0
   2 -  Indicator 1000.0

      The fringing field for up to 2nd order is defined via 3 integrals I1, I2 and I3
   (see [10] page 120). The integrals are dimensionless (renormalized, contrary to [10])
   because they are integrated in a coordinate system where the z-axis is measured in
   units of the aperture radius. The transport program multiplies them with the corresponding
   power of the aperture radius a. The following table gives these values for a few PSI
   quadrupoles and a quadrupole with a linear gradient:

         Default   QSK     QXA     QTC     linear       d is the distance along z (measured
   I1     .209    .125    .190    .1667    d**2/24      in units of aperture radius) over which
   I2    -.0768  -.0163  -.0125   .0055      0          the gradient is linearly rising or 
   I3     .0552   .0389   .0777   .0894    d**3/120     falling from min to max or vice versa.

   (The FORTRAN code for computing these integrals is available. To look at it please
   click here.) 

   example:

   .
   16. 25. .125   /I1/ ;
   16. 26. -.0163 /I2/ ;
   16. 27. .0389  /I3/ ;
   .
   .
   2. 1000. ;
   5. 1. 5. 10. /QSK1/ ;
   2. 1000. ;
   .


   2. QUADRUPOLE: Type code 5.0
   ----------------------------

     In addition to the length and the field of quadrupoles the half-aperture
   may be varied in first order fitting. This may be useful, if the strength of
   several differently excited quadrupoles of the same type have to be varied
   simultaneously by the same percentage.



   3. SLIT: Type code 6.0
   ----------------------

     Often it is desirable to have the possibility to see some slits and
   collimators in graphical Transport outputs. The Update feature of Transport
   is not always needed. With the newly created (16. 14. 0. ;) code the meaning
   of the type code 6.0 is changed from its default UPDATE code to the new SLIT
   code. 2 types of slits are implemented:


                                  - 3 -          (Back to Contents)


   a) 3 parameters for 1-dim slit:

   1 - Type code 6.
   2 - Coordinate code (1.0 for x or 3.0 for y).
   3 - Half-width of slit in units of coordinate specified with parameter 2

   b) 5 parameters for 2-dim slit (collimator):

   1 - Type code 6.
   2 - 1.0
   3 - Horizontal half-width of collimator in units of transverse x-dimensions.
   4 - 3.0
   5 - Vertical half-width of collimator in units of transverse y-dimensions.

      This feature has been borrowed from TURTLE, where particles get stopped
   or scattered from this position. Here in Transport the only purpose of this
   modified code is to print out the given slit dimensions and the usual Sigma-
   and R-matrices.



   4. FITTING CONSTRAINTS: Type code 10.0
   --------------------------------------


   4. 1. Total bending angle.
   --------------------------

     The total bending angle in a beam line may also be imposed as a constraint.
   Code digits are i=j=7.



   4. 2. Algebraic combination of matrix elements constraint.
   ----------------------------------------------------------

      Any quantity which can be constrained may also be used to form an
   algebraic expression which may itself be constrained [12]. The algebraic
   combinations are formed using the 24. and 25. type code elements. The
   results are placed in numbered registers. To constrain the contents of
   a numbered register five parameters are required.

   1 - Type code 10.
   2 - Code digit 9.
   3 - Register number (j).
   4 - Desired value of register contents.
   5 - Desired accuracy of fit.

   Complete descriptions on the formation of algebraic combinations of matrix
   elements and their placement in storage registers are given in the sections
   on type codes 24. and 25. The following example shows the use of the 24, 25,
   and 10 type code elements. It shows a fit of R11 + R22 to a value of 0.2.

   .
   .
   24. -l. l. l. ;
   24. -2. 2. 2. ;
   25.  l. 2. l. l. ;
   10.  9. 1. .2 0.00l ;
   .
   .


                                  - 4 -          (Back to Contents)


   5. ACCELERATION: Type code 11.0
   -------------------------------

     An energy gain is reflected in both the divergence and the width of the
   beam. This element provides a simulation of electrostatic accelerators or
   lenses. The principle consists in dividing up the electrostatic device in
   many different segments [4]. Thus, the input consists of more than one card,
   each representing one segment. The segmentation depends on the shape of
   the axial voltage distribution and the desired accuracy of the Transport
   calculations.

   There are three parameters:

   a) first card:

   1 - Type code 11.0
   2 - Dummy length 0.0
   3 - Device-voltage (GV).

   b) all subsequent cards:

   1 - Type code 11.0
   2 - length of the segment (meters) .
   3 - Voltage at the end of each segment given as fraction of the device-voltage.

   - The new beam energy and momentum are printed as output.
   - The parameters may be varied in stachastic fit runs (not 0.0 on first card).
     If the variation of any parameter other than the device-voltage makes sense
     is left to the user (see 2nd example for this type code). 
   - No second order for this section.
   - The units of parameters 2 and 3 are changed by 15. 8. and 15. 11. type
     code entries respectively.
   - Between two cards of type code 11. one card of any other type code
     (e.g. 13. or 22. ) may be placed. No checks are made if this makes sense
     or not.
   - If two or more electrostatic devices are placed in one deck, at least two
     cards of a different type code have to separate them.
   - A 16. 3. type code entry must precede the 11 .0 card series. It provides
     the mass of the particles in electron units.
   - For electrostatic lenses the device voltage may also be negative.
     Transport stops in case the kinetic energy of the particles becomes zero
     or less.
   - assumed first order transfer matrix:

	    1        L*I        0         0              0                 0
           1/f  p0/p1 + L*I/f   0         0              0                 0
   R =	    0         0         1        L*I             0                 0
            0         0        1/f  p0/p1 + L*I/f        0                 0
	    0         0         0         0         beta1/beta0    L/(gamma0*gamma1)
	    0         0         0         0              0        p0*beta0/(p1*beta1)


   where: Rx = Ry =  |  1   0 |  *  | 1    L*I  |   (see [13])
                     | 1/f  1 |     | 0   p0/p1 |

   with: 
   L     = length of electrostatic accelerator segment
   M0    = rest mass of the particle
   p     = momentum of the particle (0: initial, 1: final)
   E     = electric field strength
   T     = kinetic energy
   f     = -2*p0*v0 / (E1-E0), v0 = p0/(T0+M0) (see [13], p.214)
   gamma = 1 + T0/M0 = sqrt(1 + (p0/M0)**2)
   I     = p0/(T1-T0) * ln((M0+p1+T1)/(M0+p0+T0)), approximation for T linearly rising
  {I     = Leff / L = p0/L * Integralp0->p1 (ds/p) }

   Example 1: (see also Figure)
   ==========

   /TEST ELECTROSTATIC ACCELERATOR/
   0
   15. 11.0 /MEV/ .001 ;
   15. 1.0 /MM/ .1 ;
   1. 1.7 11.765 1.7 11.765 10.0 1.0 8.663 ;
   12. .0 .0 .0 .0 .0 .0 .0 .0 .0 .0 .0 .0 .0 .0 .0 /CORR/ ;
   14. 1.0 .0 .0 .0 .0 .0 1.0 ;
   14. .0 1.0 .0 .0 .0 .0 2.0 ;
   16. 3.0 1836.70 /MASS/ ;
   22. .05 .0 .0 2.2 ;
   3. .316 /PR1/ ;
   3. .454 ;
   16. 5.0 60.0 ;
   19. .08 3.0 /SOL/ ;
   19. .08 3.0 /SOL/ ;
   3. .77 /BLEN/ ;
   3. .5 /PR2/ ;
   3. .3 /COLL/ ;

                                  - 5 -          (Back to Contents)

   3. .15 ;
   16. 5.0 40.0 ;
   22. .1 .015 .0 .2 ;
   11. .0 .82  /TBOP/ ;
   11. .01 .00003  ;
   11. .01 .00023  ;
   11. .01 .00078  ;
   11. .01 .00185  ;
   11. .01 .00362  ;
   11. .01 .00625  ;
   11. .01 .00992  ;
   11. .01 .01481  ;
   11. .01 .02109  ;
   11. .01 .02894  ;
   11. .01 .03851  ;
   11. .01 .05 ;
   11. .72 .95 ;
   11. .01 .96149  ;
   11. .01 .97106  ;
   11. .01 .97891  ;
   11. .01 .98519 ;
   11. .01 .99008 ;
   11. .01 .99375 ;
   11. .01 .99638 ;
   11. .01 .99815 ;
   11. .01 .99922 ;
   11. .01 .99977 ;
   11. .01 .99997 ;
   11. .01 1.0 /TEOP/ ;
   22. .05 .0 .0 2.2 ;
   3. .065 ;
   3. 1. ;
   3. .3 ;
   -10. 2.0 1.0 .0 .1 /FIT/ ;
   -10. 1.0 1.0 3.0 .1 /FIT/ ;
   3. 1. ;
   3. .8 ;
   SENTINEL
   /*PLOT*/
   -1
   19.0A /SOL/ ;
   10. /FIT/ ;
   SENTINEL
   SENTINEL

      In this example 15 mA of protons with a energy of 40keV are leaving the
   source and are refocused with a solenoid. Afterwards they are accelerated
   to a kinetic energy of 860 keV. Outside the tube the space charge forces
   are assumed to be fully neutralized. Three effects can be seen nicely on
   the figure:

   1) The focusing effect of the electric field transition region at the
      tube entrance. (At the exit the defocusing effect is less pronounced
      because of the higher energy of the protons.)
   2) The smaller angular divergence of the accelerated beam.
   3) The defocusing of the beam inside the tube induced  by space charge
      forces. (No neutralization of the space charge forces inside the tube.)

      The calculations of this example was compared with the calculations
   done with the program SPEAM [5] and perfect agreement was found.

   Example 2: (see also Figure)
   ==========

   /Fitting voltage of Einzel lens/
   0
   15. 11.0 /MeV/ 0.001 ;
   15. 1. /mm/ 0.1 ;
   1. 1.0 8.0 1.0 8.0 1.0 1.0 21.1535 /BEAM/ ;

   16. 31. 0. /RANF/ ;
   16. 22. 100. /NITR/ ;
   50. 1. 0. 0.2 /LIMV/ ;

   3. 0.5 ;
   16. 5.0 5. /APER/ ;
   16. 3.0 7297.29 /MASS/ ;
   11. 0.0 0.050 /VOLT/ ;
   11. 0.01 0.1 ;
   11. 0.01 0.2 ;
   11. 0.01 0.3 ;
   11. 0.01 0.4 ;
   11. 0.01 0.5 ;
   11. 0.01 0.6 ;
   11. 0.01 0.7 ;
   11. 0.01 0.8 ;
   11. 0.01 0.9 ;
   11. 0.01 1.0 ;
   11. 0.05 1.0 ;
   11. 0.01 0.9 ;
   11. 0.01 0.8 ;
   11. 0.01 0.7 ;
   11. 0.01 0.6 ;
   11. 0.01 0.5 ;
   11. 0.01 0.4 ;
   11. 0.01 0.3 ;
   11. 0.01 0.2 ;
   11. 0.01 0.1 ;
   11. 0.01 0.0 ;
   3. 0.5 ;
   -10. 1. 1. 0. .1 /FIT1/ ;
   -10. 2. 1. 0. .1 /FIT2/ ;
   3. 0.5 ;
   SENTINEL
   /*PLOT*/
   -1
   11.01 /VOLT/ ;
   10. /FIT1/ ;
   10. /FIT2/ ;
   SENTINEL
   SENTINEL

   In this example the voltage of an Einzel lens is fitted for a 1:1 imaging ratio.
   (Because of the multi-element structure of a type code 11 array, fitting is only possible
   in the stochastic fit mode (16. 31. 0. ;).


                                  - 6 -          (Back to Contents)


   6. CORRELATION MATRIX: Type code 12.0
   -------------------------------------
      The 15 matrix elements may be varied in first order fits. For envelope
   fits it is particularly useful to vary the first (r12) and the sixth (r34)
   element together with the beam (type code 1.0) in order to get the best
   possible solution (see sample input files envfitxx.dat).


   7. INPUT-OUTPUT instructions: Type code 13.0
   --------------------------------------------


   7. 1. PRINT CONTROL instructions:
   ---------------------------------
      The following instructions do not correspond to the ones listed in [3],
   because they were invented independently. After 1980 it was to late for a
   change, because a lot of Transport input files for these codes were already
   existing.
   (13. 5. ;): The transformation matrix R1 will be printed after every physical
            element which follows this code. If a (13. 4. ;) element
            follows, it is not executed.
   (13. 6. ;): The automatic printing of R1 will be suppressed and R1 will be
            printed only when subsequently requested. (Note: unfortunately
            these two codes are just the opposite of the codes used in
            CERN 80-04.)
   (13. 7. ;): The automatic printing of the physical data of every element
            which follows this code is suppressed. The only exception is type
            code 10.0, whose data are always printed.
   (13. 8. ;): The automatic printing of the physical data of all subsequent
            elements is resumed.
   (13. 9. ;): The misalignment summary table is printed. (Note: does the same
            as the 13. 8. ; code described in CERN 80-04.)


   7. 2. Bend magnet input specifications 47. and 48.
   --------------------------------------------------
   (13. 48. ; ) Bending magnets encountered subsequent to the insertion
   of this element are to be specified by the length, bend angle, and n value.
   Thus a bend magnet element will take the form:  4. L alpha n ;
   (13. 47. ; ) The normal option for specification of a bending magnet is re-
   stored by this element. A bend magnet element now takes the form: 4. L B n ;


   8. SPECIAL INPUT PARAMETERS: Type code 16.0
   --------------------------------------------


   8. 1. Half-aperture of bending magnets.
   ---------------------------------------
   (16. 5. g/2 ;): The vertical half-aperture of bending magnets may be varied
   in first-order fitting. This may be useful when studying fringing field
   effects of bending magnets in complex beam lines.


   8. 2. Lithium or plasma lens 97., 98.
   --------------------------------------
   (16. 98. ;) All quadrupoles subsequent to this element will be taken as
   having the same effect in both transverse planes. Thus, if the pole tip
   field is positive both planes will be focusing. If the pole tip field is
   negative, both planes will be defocusing.
   (16. 97. ;) The normal option is restored for a quadrupole element. It
   is now focusing in one plane and defocusing in the other .



                                  - 7 -          (Back to Contents)


   8. 3. Initial Beam Parameters for Periodic beam lines.
   ------------------------------------------------------

     Provision has been made in the program f or computing the initial beam
   parameters f or periodic beam lines such as ring cyclotrons. The program
   will compute (and overwrite) the 4 quantities sqrt(sigma(i,i)) i = 1, 4
   of the beam card, the 2 correlation coefficients r(2,1) and r(4,3) of the
   rotated beam ellipse card and the matrix elements R(i,6) of row i (i = 1, 2)
   on the arbitrary transformation input cards. Therefore these cards (type
   code 1., 12. and 14.) containing zeros or dummy values have to be placed
   into the transport deck.

     Three additional cards are needed to tell the program the projected phase
   space areas and the period length:

   (16. 9. ex ;) and (16. 10. ey ;): These 2 cards have to be placed in front
   of the beam card. The expressions ex and ey are respectively the area of the
   phase space beam ellipses in the (x,theta)- and (y,phi)-planes divided by pi.
   They have to be measured in those units used on the beam card and when
   sigma(6,6) is set to zero. If sigma(6,6) not 0 is used, the solution will
   still be periodic, but the covered phase space area in the (x,theta)-plane
   in general will be greater than ex. If only one of these cards is used, the
   program will not compute the periodic beam parameters f or the other plane
   (nor overwrite the appropriate values).

   (16. 11. 0. ;): This card marks the end of one period of the beam -line.
   The beam parameters at the location of this card have to (and will) be
   equal to the initial beam parameters ( @ *MATRIX* z = 0.000 m).
 
   Example:

   /*PLOT* periodic solution for ring sector 72 MeV/
   0 
   15. 1.0 /MM/ .1 ;
   15. 6.0 / PM/ .1 ;
   16. 9.0 4.0 /EMIX/ ; 
   16. 10.0 4.0 /EMIY/ ;
   1. 3. 3. 4. 1. .0 .5 .3735  /BEAM/ ;
   12. -.1 .0 .0 .0 .0 .1 .0 .0 .0 .0 .0 .0 .0 .0 .0 /SIG/ ;
   14. 1.0 .0 .0 .0 .0 .0 1.0;
   14. .0 1.0 .0 .0 .0 .0 2.0;
   9. 8. ;
   3. .5;
   16. 5. 40. ;
   16. 7. 0.8 ;
   16. 8. 8. ;
   2. 9.0 ;
   4. .6 14.8 .0 /SM/ ;
   2. 9.0 ;
   3. .5 /VAL/ ;
   9. 0. ;
   16. 11 .0 .0 /LPER/ ;
   SENTINEL
   SENTINEL

   periodic solution:

   sqrt(sigma(1,1)) = 2.674
   sqrt(sigma(2,2)) = 1.555
   sqrt(sigma(3,3)) = 3.312
   sqrt(sigma(4,4)) = 1.208
   r(2,1)           = 0.0
   r(4,3)           = 0.0
   R(1,6)           = 1.465
   R(2,6)           = 0.0

                                  - 8 -          (Back to Contents)


   8. 4. Stochastic fit procedure.
   -------------------------------

      For fitting envelopes with space charge or in second order, the default
   gradient search method does not work. Therefore the minimum had to be searched
   for by trial and error, which was very painful. In 1991 a stochastic
   optimising procedure has been presented in a computer journal [11] which
   looked very promising also for Transport fitting. It works the following way:
   As usual we want to find a minimized chi-squared formed by the constraints
   by varying N parameters (vary codes), of which every one is allowed to vary
   between his lowest (ALOW) and highest (AHIGH) boundary values. The starting
   point (A) is given by the initial values of the parameters. Then a N-dimensional
   and normalized vector at random is computed. This vector decides about the
   direction of the search. Because the vector is normalized, each direction
   has the same probability. In this randomly computed direction 2 points for
   the search are selected (2 sets of vary codes). The first point (C) is
   taken with a standard step size, the second point (B) with an enlarged step
   size. For both points (B and C) the chi-squared are computed. Now there are
   3 possibilities to choose from:
   a) Both chi-squared values at B and C are bigger than the one at the
      starting point A. No success. Randomly compute a new direction for the
      search. If this happens several times in a row, then one can assume,
      that the minimum is not anymore too far away. Therefore a smaller step size
      will be taken for the next point, but with equal starting value
      (microscope).
   b) The chi-squared value at point B is smaller than the ones at A and C.
      Because the big step was successful it seems, that the minimum is far
      away. For increasing the speed, the step size will be made bigger
      (telescope) for the next point.
   c) The chi-squared value for B is bigger than for A, but the chi-squared
      value for C is smaller than for A. That means, that the search strategy
      with normal step length is o.k. and does not have to be changed at the
      moment. Continue with a next point.
   If a new point with a smaller chi-squared is found, it will become the new
   starting point A for the next iteration. The further this iteration process
   proceeds, the smaller the step length will become, the 'search horizon' will
   become narrower and narrower and more and more missed hits of the random
   search will occur. After a reasonable amount of steps (M) the search will
   be cancelled without checking any specific convergence criteria. Because the
   initialisation of the random generator is done at random, each fit run with
   the same starting conditions will give a different minimum and also the
   path to there will be somewhat different each time.
   In the *CORRECTIONS* column the standard Transport output will only print
   out the steps which were leading to an improvement of the chi-squared. Behind
   the step number and the chi-squared, the actual parameter values are listed.
   A covariance matrix is not given for the stochastic algorithm.

   Here the newly implemented codes:

   16. 31. 0. ; Switch to random search algorithm.
   16. 32. 0. ; Switch back to Gradient search algorithm (default).
   16. 22. M. ; Number of steps for random search (default = 50).

   For limitations of varied parameters see type code 50.

                                  - 9 -          (Back to Contents)

   Sample input file:

   /TEST OF RANDOM OPTIMISER WITH QUADRUPOL WAIST FIT/
   0
   15. 1. /MM/ .1 ;
   15. 6. /PM/ .1 ;
   13. 2. ;
   13. 6. ;

    16. 31. 0. /RAN0/ ;
   -16. 32. 0. /NORM/ ;
    16. 22. 200. /NITR/ ;
    50. 1. -15. 15. /LIM1/ ;
    50. 2. -15. 15. /LIM2/ ;

   1. 0.1 10. 0.1 10. 0. 0. 1.2 /BEAM/ ;
   3. 3. ;
   5. .5 0. 100. /Q1/ ;
   3. .2 ;
   5. .5 0. 100. /Q2/ ;
   3. 3. ;

   -10. 2. 1. 0. .1 /FIT1/ ;
   -10. 4. 3. 0. .1 /FIT1/ ;
   -10. 1. 1. 0. .1 /FIT2/ ;
   -10. 3. 3. 0. .1 /FIT2/ ;
   SENTINEL
   -1
   5.01 /Q1/ ;
   5.01 /Q2/ ;
   10. /FIT2/ ;
   SENTINEL
   -1
   5.01 /Q1/ ;
   5.01 /Q2/ ;
   10. /FIT1/ ;
   10. /FIT2/ ;
   SENTINEL
   /*PLOT*/
   -1
   -16. /RAN0/ ;
   16. /NORM/
   SENTINEL
   SENTINEL



   8. 5. Additional newly created special parameters.
   --------------------------------------------------

   16. 3. m0. ;
        Mass of particle in units of the electron mass.
   16. 14. 0. ;
        Type code 6.0 means slit apertures instead of update.
   16. 25. I1. ;
        1st fringing field integral for quadrupoles (Default = 0.2090). 
   16. 26. I2. ;
        2nd fringing field integral for quadrupoles (Default = -.0768).
   16. 27. I3. ;
        3rd fringing field integral for quadrupoles (Default = 0.0552).

   16. 29. CHARGE. ;
        Charge of the particle (in electron units , default = 1).
        The formula given on page 42 of reference [1] should be in a more
        generalized form:  B(0) = 33.356 * ( p / (rho0 * CHARGE) )
        Example: For He++ beams the line 16. 29. 2. ; should be inserted at the
        place of the stripper. If you start with a He- beam, do not forget
        to place a 16. 29. 1. ; line after the beam-card.

   16. 40. 1. ;
        For type code 11 extended plates feature: turn off x-focussig.
   16. 40. 3. ;
        For type code 11 extended plates feature: turn off y-focussig.
   16. 40. 0. ;
        For type code 11: restore standard functioning.

   16. 96. ;
        All quadrupoles which follow this entry are electrostatic quads: The 3rd parameter
        on type code 5 elements represent the electric field at the pole tip in kV/cm.
   16. 95. ;
        Restores the normal meaning (magnetic quads) of type code 5 elements.


                                  - 10 -          (Back to Contents)


   9. SOLENOID: Type code 19.0
   ---------------------------

      Inside the solenoid, particles possessing a transverse velocity will
   describe an orbit which is helical in space. In order to study these
   movements, the beam centroid may be shifted and traced through the solenoid.
   For B * L > Brho , the solenoid has to be divided into a sufficient amount
   of smaller elements in order to get an accurate image of the particle rays.
   But the R-matrix used in transport (see [3], p.114) includes the fringe field
   effects at the entrance and exit of the solenoid. Therefore the slopes
   (x'/y') computed at the different segments are incorrect. Cubic spline
   interpolation used for the graphic display of the particle rays or the
   envelopes need the correct slopes for a decent picture. Therefore provision
   has been made to do correct slope computation inside a solenoid by separating
   it into three regions: a) entrance face, b) homogenous region and c) exit
   face.

   19.0 0. B. /ENTR/ ;
   19.0 L1 B. /HOM1 / ;
    .                          ( L1  to  Ln  unequal 0. ) 
    .
   19.0 Ln B. /HOMn/ ;
   19.0 0. B. /EXIT/ ;

     If the code encounters for the first time a 19. type code with zero length,
   it takes the R-matrix for the entrance fringe field. For all subsequent
   19. type codes with Lx unequal 0 the R-matrix for the homogeneous
   longitudinal field is taken. If a 19. type code with zero length is
   encountered for a second time the R-matrix for the exit fringe field is
   selected. Other data entries between the sequence of 19. type codes are
   allowed ( e. g. I/0 control or RMS addition to beam ), but no checks are
   made if these entries make sense or not. In order to divide the solenoid
   into segments of equal length, the automatic segmenting feature of the
   space charge card may be used . In first order fitting, the lengths and the
   magnetic field strengths of the different segments may be adjusted through
   coupled vary codes.

   Note: The original default is still available. If no type-code 19. card with
   zero length is present, then for all solenoid cards the matrix with entrance
   and exit fringe fields included will be taken.

   Example: (see also Figure)

   /Test solenoid ray tracing/
   0 
   1. 1. 70. 1. 70. 1. 1. 1. /BEAM/ ;
   7. 0. 50. 0. 50. 0. 0. /CENT / ;
   22. 1. 0. 0. 1. ; (use space charge card with current=0 for segmenting)
   3. 1. ;
   19. 0.0 50. /ENTR/ ; ( entrance fringe field )
   19. 10. 50. /HOMO/ ; ( homogeneous region )
   19. 0.0 50. /EXIT/ ; (exit fringe field)
   -10. 0. 2. 0. .01 /FIT1/ ; (ray parallel to axis)
   3. 1. ;
   SENTINEL
   /*PLOT*/
   -1
   10. /FIT1/ ;
   19.0A /ENTR/ ; 
   19.0A /HOMO/ ;
   19.0A /EXIT/ ;
   SENTINEL
   SENTINEL

                                  - 11 -          (Back to Contents)

   First-order matrices for the solenoid [6] :

   1) Entrance face :

	1 0 0 0 0 0
        0 1 K 0 0 0
   Ri =	0 0 1 0 0 0	2 * K = B / Brho
       -K 0 0 1 0 0
	0 0 0 0 1 0
	0 0 0 0 0 1

   2) Exit face :

        1 0  0 0 0 0
        0 1 -K 0 0 0 
   Ro = 0 0  1 0 0 0
        K 0  0 1 0 0
        0 0  0 0 1 0
        0 0  0 0 0 1

   3) Homogeneous field:

        1    S*C/K    0    S*S/K    0  0 
        0    2*C*C-1  0    2*S*C    0  0
   Rh = 0   -S*S/K    1    S*C/K    0  0        C = cos(K*L)
        0   -2*S*C    0    2*C*C-1  0  0        S = sin(K*L)
        0      0      0      0      1  0
        0      0      0      0      0  1




   10. WIEN FILTER: Type code 21.0
   -------------------------------

     The Wien filter is a device with static electric and magnetic fields
   perpendicular to each other and to the beam axis. The B/E ratio is adjusted
   so that the particles with the central momentum stay on the axis. 'Short'
   Wien filters are used as velocity separators: Wanted particles stay on the
   axis, all others are deflected by the device [7]. 'Long' Wien filters may be
   used as spin rotators: The spins of the wanted particles rotate around the
   B-field while the particles travel along the axis [8].

   There are three parameters:

   1 - Type code 21.0
   2 - Effective length L of the field region (meters).
   3 - The magnetic field B (kG). A positive B-field vector points in the
       positive y-direction. (For positively charged particles the E-field
       points in the positive x-direction.) The B/E ratio is assumed to be
       constant over the whole field region.

   - The quantities L and B may be varied f or first-order fitting.
   - The mass of the particle has to be provided via a type code 16. 3. entry.
     This card must precede the 21.0 card.)
   - The electric field strength is printed as output (Units=kV/cm).
   - The standard units f or L and B may be changed by 15.0 8.0 and
     15.0 9.0 type code entries preceding the beam card.
   - No second order calculations for this element type.
   - first order transfer matrix by R. Frosch [8]:

	  cos(k*L)  (1/k)*sin(k*L)  0 0 0  -(1/(k*gamma)) * (1-cos(k*L))
        -k*sin(k*L)    cos(k*L)     0 0 0      -(1/gamma) * sin(k*L) 
   R =	    0             0         1 L 0                 0
            0             0         0 1 0                 0
	    0             0         0 0 1                 0
	    0             0         0 0 0                 1

   with: k = 1/(gamma * rho), rho = 33.356 * p/B, gamma = 1/sqrt(1-beta**2)
	 beta = v/c, p = m*v*gamma, L = eff.length, B = magnetic field, m = rest.mass

                                  - 12 -          (Back to Contents)

   - A typical first-order Transport input is:

   /TEST WIEN FILTER AS SPIN ROTATOR/
   0 
   15. 1 .0 /MM/ .1 ;
   15. 6.0  /PM .1 ;
   15. 11 . 0 /MEV/  .001 ;
   15.  9.0 /G/ .001;
   1. 10.0 5.0 10.0 5.0 .0 .0 28.0;
   12. .0 .0 .0 .0 .0 .0 .0 .0 .0 .0 .0 .0 .0 .0 .0 /CORR/ ;
   14. 1.0 .0 .0 .0 .0 .0 1.0 ;
   14. .0 1.0 .0 .0 .0 .0 2.0 ;
   16. 3.0 206.699 ;
   21. 2.0 705.0 /SPIR/;
   -10  .0  .0 2.33 .001 /FITL/ ; 
   -10. -2.0 2.0 .0 .001 /FR22/ ;
   SENTINEL
   /*PLOT*/
   -1
   21.11 /SPIR/ ;
   10. /FITL/ ;
   10. /FR22/ ;
   SENTINEL
   SENTINEL



   11. SPACE CHARGE Type Code 22.0
   -------------------------------

      Space charge can seriously modify beam envelopes causing mismatches,
   increased aperture requirements, and increased energy spread. A type 22.0
   card incorporates the linear part of the space-charge force (both transverse
   and longitudinal) into the transport line by a series of thin lenses at
   interval DS. There are 5 parameters :

   1 - Type Code 22.0
   2 - distance between thin lenses, DS (meters). Small values of DS give
       improved accuracy but longer computation times. DS can be determined by
       trial and error, for example by decreasing it until the desired accuracy
       is achieved.
   3 - the beam current (Amps). A zero current skips the space-charge
       calculation but still allows printing and plotting at multiple intervals
       of DS. This parameter may be varied while fitting with the stochastic
       method.
   4 - the bunch frequency (MHz). For a bunched beam this is the number
       of bunches passing a given point per second. For a continuous
       (unbunched) beam this parameter is 0.0.
   5 - print frequency. In addition to the usual output at the beginning and
       end of each element, the sigma matrix will be printed at intervals of
       (print frequency)*DS. For the unformatted output (used for plotting)
       the print frequency is automatically set to 1.

   Restrictions :

   a) The space-charge calculation assumes that the sigma matrix corresponds
      to 2 standard deviations of the particle distribution, for example
      sigma(1,1) = 4.0 * average(x*x) . This is an intuitive choice for the
      beam boundary, but otherwise arbitrary. The conventional 1 standard
      deviation definition of the sigma matrix can be retained if the space
      charge parameter CAPPA defined in subroutine ELMENT is divided by 8 for
      the bunched beam, 4 for the continuous beam.
   b) A 1.0 type and a 16.0 type must precede the 22.0 card. They provide
      the particle momentum and mass, which are required to compute the
      space-charge parameters.

                                  - 13 -          (Back to Contents)


   c) None of the parameters on the 22.0 card can be varied while fitting.
      Exception: While fitting with the stochastic method, the beam
      current may be varied.
   d) The first moments of the distribution are ignored. Space charge affects
      the second and higher moments of a particle distribution, but not the
      first moments. Therefore misalignment problems involving the first
      moments should be run without space charge, while space-charge problems
      should be run with zero first moments.
   e) Second-order calculations will give incorrect results and therefore
      are not incorporated in this version of Transport. However it
      appears that only a few modifications in the program are required to
      make space charge compatible with a second-order calculation.
   f) Fitting may not succeed at first with space charge. For example, to
      achieve a fit at 100 mA it may be necessary to fit in stages, first at
      0.0 mA, then 30 mA, then 60 mA, and finally at 100 mA.

      For a sample input code see the RF-Cavity example.
      (Pay attention to the proper order of beam, mass and space charge cards.)

   PROGRAM MODIFICATIONS FOR SPACE CHARGE.

     Aside from changes needed to recognize the new type cards (for example the
   number of parameters per card, which parameters can be varied, etc.) the
   major changes occur in ELMENT. Without space charge it proceeds through the
   old paths. With space charge and if. a element of type 3, 4, 5, 11, 19 or 21
   is detected it calls the subroutine SPACEC (see flow chart), which computes
   the R matrix for the element including space-charge forces. SPACEC divides
   the element into sections of length DS (plus one remainder; and places a 
   space charge thin lens (EMAT) between each section. STEPS advances the RM-
   and RC2-matrices through each step. Before the RETURN, the R matrix for the
   complete element with space charge is stored (R = RM), and RC2 is set equal
   to the original RC2 matrix at the beginning of the element. Thus after the
   RETURN, all the parameters and arrays normally computed by ELMENT without
   space charge have been calculated and stored with space charge included. In
   principle, one should not be able to tell which path (space-charge calculation
   or not) the program has followed. The subdivision of the element into steps
   allows one to print the sigma matrix or plot the beam envelope at intermediate
   points. This is decided by the variables PRTFQ for printing and for plotting
   and is accomplished by calling QEO, which prints the sigma matrix and/or
   stores the beam envelope for later plotting. Special care had to be taken for
   incorporating electrostatic acceleration elements (type code 11.0) into
   space charge calculations. For these elements the path through SPACEC differs
   slightly from the one for the other elements (see flow-chart, not included).



   12. RF CAVITY (Buncher) Type Code 23.0
   --------------------------------------

      This element simulates a single-gap buncher or debuncher cavity. It acts
   as a thin lens of zero length and is used to modify the bunch energy spread
   (momentum spread).

   There are four parameters :

   1 - Type Code 23.0.
   2 - the maximum effective RF voltage (RFV) across the gap (in MV).
   3 - a phase in degrees (RFPHASE) which must be 0. or 180.; it is 0. if the
       longitudinal force is focusing (decreases energy spread) and 180.
       for defocusing.
   4 - the frequency (RFFREQ) of the fields in the cavity (in MHz).


                                  - 14 -          (Back to Contents)

   The RF buncher introduces a focusing term in the horizontal and vertical phase
   space from the RF field and a dependence of momentum spread on longitudinal
   position within the bunch. But the cavity produces a transverse defocusing force
   if the longitudinal force is focusing and vice versa. The energy spread in the
   bunch is assumed to be linear.
    
   The assumed first order transfer matrix is (see [14]):

                  1               0           0              0     0    0
          -lamda/(2*gamma**2)     1           0              0     0    0
   R =            0               0           1              0     0    0
                  0               0   -lamda/(2*gamma**2)    1     0    0
                  0               0           0              0     1    0
                  0               0           0              0   lamda  1

   with: lamda = 2.0 * Pi * cos(RFPHASE) * RFV * RFFREQ / (alpha * beta**3 * gamma * SM)
	 (for lamda = -1/f see also formula (8.55) in [13].)
         alpha = 153.5, Pi = 3.14159, beta = v/c, gamma = 1.0 / sqrt(1.0-beta**2)
         SM = mass of particle in units of electron mass.

   Restrictions :

   a) Only the voltage RFV may be varied while fitting.
   b) The linear approximation to the sinusoidal force is valid only for
      bunch lengths less than +- 60 degrees of the RF phase.
   c) Second-order effects are not included, and they will be important for
      bunch lengths near +- 60 degrees.


   Example: (see also Figure)
   ========

   /TEST RF CAVITY (Buncher)/
   0
   1. 1.0 1.6 1.0 1.6 1.0 .338 .3103 /BEAM/ ;
   16. 3.0 1836.70 /MASS/ ;
   22. .05 .2 200.0 .0 /SPCE/ ;
   3. 5.0;
   3. 5.0;
   3. 5.0;
   23. .6 180.0 200.0 /CAV1/ ;
   -10. 6. 6. .25 .01 /FIT1/ ; 
   3. 5.0;
   3. 5.0;
   3. 5.0;
   3. 5.0;
   3. 5.0;
   3. 5.0;
   3. 1.5;
   SENTINEL 
   /*PLOT*/
   -1
   23.1 /CAV1/ ;
   10.0 /FIT1/ ;
   SENTINEL
   SENTINEL



   13. ALGEBRAIC COMBINATIONS OF MATRIX ELEMENTS DEFINING REGISTER CONTENTS:
       Type code 24.
   -------------------------------------------------------------------------

      Any of the quantities which can be constrained can also be used to
   form algebraic combinations  which in turn may be constrained. A set
   of ten storage registers is available for formation of such algebraic
   combinations. The 24. type code element is used for storage into
   these registers [12]. Four parameters are required.

   1 - Type code 24. (indicating a storage operation)
   2 - Code digit i.
   3 - Code digit j.
   4 - Register number

      The indices i and j have the same meaning as for the fitting constraint
   (10.) type code. Thus, for example, if one wished to place the R34 matrix
   element into register l, one would use the following 24. -3. 4. l. ; element.

      Numerical constants may also be placed in registers for use in forming
   algebraic expressions. If i is equal to 100, then the third parameter is
   taken to be the numerical constant. For example, the element

      24. 100. 3.14159  7. ;

   causes the number 3.14159 to be placed in register 7. The contents of a
   register may be constrained by  fitting constraint element (type code l0.0).
   Details are given in the section describing fitting constraints.

                                  - 15 -          (Back to Contents)


   14. ALGEBRAIC COMBINATIONS OF MATRIX ELEMENTS FORMING COMBINATIONS:
   type code 25.
   -------------------------------------------------------------------

      Algebraic combinations of elements in storage registers may be formed
   and them selves placed in storage registers. The combinations formed may
   be constrained or used to form further algebraic combinations [12].

   Five parameters are required:

   1 - Type code 25. (signifying an algebraic combination) 
   2 - First input storage register
   3 - Second input storage register
   4 - Algebraic operation to be performed
   5 - Output storage register

   The algebraic operations are referred to by number according to the 
   following list:

   1 - addition (+)
   2 - subtraction (-)
   3 - multiplication (*) 
   4 - division (:)
   5 - square root (sqrt)

     If the square root is selected, only the first input register is used.
   A dummy index should be inserted for the second input register. As an
   example of the use of the algebraic combination element we illustrate the
   process of taking the quotient of the contents of registers 2 and 7 and
   placing the result in register 2.
   .
   .
   25. 2. 7. 4. 2. ;
   .
   .


   15. VARY CODE LIMITS: Type code 50.0
   ------------------------------------

   In order to limit the selection of the varied parameters for a random
   search (see type code 16), the following code was introduced.

   1 - Type Code 50.0.
   2 - Number of the vary code (L).
   3 - lower limit (ALOW).
   4 - upper limit (AHIGH).

   example:
   .
   .
   16. 31. 0. /RAN0/ ;
   16. 22. 200. /NITR/ ;
   50. L. ALOW. AHIGH. ;
   .
   .
   Defaults:

         type code       ALOW     AHIGH
             1           0.0      2 * VAL
            12          -0.9999   0.9999
           others       -2*VAL    2 * VAL

   (VAL = absolute value of parameter L at start of search.)

                                  - 16 -          (Back to Contents)


   16.  APPENDIX A: Implementation notes for VAX-VMS TRANSPORT.
   ------------------------------------------------------------

The present state of the VAX-Transport at SIN (May 1982).

Since 1978 several changes have been made in the most commonly used Fortran
version of Transport [1]. One useful extension was the incorporation of space-
charge calculations. The necessary subroutines were extracted from an older
version of Transport [2,2a,2b]. New element type codes for electrostatic accelerator,
Wien filter [8] and bunchers [2] have been added. During the years some
additional first-order fitting features were added to Transport. Furthermore,
a subroutine has been included, which writes binary output for envelope
drawing on graphic terminals instead of the well known printer output. The
subroutines SOLVE and MALIGN were replaced by modified versions taken from the
newest CERN-version of Transport [3]

   There are 2 possibilities to run transport:

1) If you want to have the output in formatted manner (like used from
the old days), then you have to provide only FOROOl.DAT containing
the input information (title line, indicator, different type codes,
SENTINEL etc. See CERN 80-04 report and special reports by U. Rohrer
and D.C. Carey about modifications and enhancements.) Computation is
started with the command TFO. The output is written on F0R0O2.DAT. You
may look at it with the different procedures TE, SI and EL, or you
inspect it with the text editor or you type it on your terminal screen
or you have it printed on one of your printers. In order to run transport
in this mode, you need not to have a graphics terminal. That means a DEC
VT100 is sufficient.

2) If you want to have the output in form of graphic plots and numeric
tables, then you have to provide besides FOROOl.DAT a second input file
named F0R0O4.DAT, containing information for the plot (see table on next
page). The input file FOROOl.DAT looks the same like for case l, except
that the last title line must contain *PLOT* as the first 6 characters,
in order to tell the program, which data have to be tabulated and plotted.
As output a whole bunch of binary scratch files FOROxx.DAT (xx = 00 : 18)
are produced. The different procedures described below are reading these
files.


                                  - 17 -          (Back to Contents)


16. 1. Table of different transport commands:
---------------------------------------------

Name	Param 	action performed
T	 	transport computation and creation of envelope display and tables
TFO 		transport computation with formatted output only
S 		transport computation with tables only (no envelope display)
I		transport input file editor for basic sequence (* #
Q 		transport fit sequence editor (* #
O		printing of output files & display file (F0R004) editor (%
E		display of beam ellipses (* %
M		display of several pre-recorded envelopes (%
DTM 	ijk 	display of up to 4 second order components Tijk (%
TIJK 		table of 2nd-order beam components (%
SI 		Sigma- & Rl - matrices output (* % {
EL 		*elements* - table (% {
R 		transport graphic re-display (%
QOI 		transfer of quad and solen. fields from output to input (# %
BOI 		transfer of initial beam param. from output to input (# %
BEA 		transfer of final beam param. from output to input (# %
BLI 		beam line inversion (#
BR 		B * Rho - scaling of a beam line (#
TE 		tabulates formatted transport output page for page ({
TF 		transfers measured profile & quad data (F0R022.DAT) to input (#
DIRF		directory of scratch files (FOROxx.DAT)
DELF 		delete all scratch files but FOROOl.DAT & F0R0O4.DAT
HT 		prints this table on screen

(* means: has a build-in help feature
(# means: modifies FOROOl.DAT
(% means: run T or S before using this command
({ means: run TFO before using this command


                                  - 18 -          (Back to Contents)


16. 2. Table of parameters on display parameter file (F0R004):
--------------------------------------------------------------

Name	value (and meaning) of parameter

ZMIN	z-coordinate of start of display in m
ZMAX	z-coordinate of end of display in m
XMPL	horizontal amplitude of display (in mm or cm)
YMPL	vertical amplitude of display (in mm or cm)
APFAC	scaling factor for display of magnet apertures (*)
SPEZ	0. for drift-labels not to be, but magnet-labels to be displayed
	l. for drift-labels and magnet-labels to be displayed
	2. for drift-labels and magnet-labels not to be displayed
	3. for drift-labels to be, but magnet-labels not to be displayed
DISP	0./l. for without/with displaying horizontal dispersion trajectory
YDISP	0./l. for without/with displaying vertical dispersion trajectory
RAX	0./1. for without/with displaying shifted horizontal beam centers
	if l. then normal display of envelopes is deactivated
RAY	0./1. for without/with displaying shifted vertical beam centers
	if 1. then normal display of envelopes is deactivated
MEASX	0./l. for without/with displaying horz. beam extent-fits
	fit-indicators in type-code 10: i=1 and j=1
MEASY	0./l. for without/with displaying vert. beam extent-fits
	fit-indicators in type-code 10: i=3 and j=3
MEASD	0./l. for without/with displaying beam centroid shift-fits
	fit-indicators in type-code 10: i=0 and j=1 or 3
CUMAX	not used
SPEZ2	0./l. for without/with displaying magnetic field values in kG
CSX	0./l. for without/with displaying sine & cosine trajectories in x
	if l. then normal display of envelopes is deactivated
CSY	0./l. for without/with displaying sine & cosine trajectories in y
	if l. then normal display of envelopes is deactivated
YTIT	l. to 740. vertical position of display of title (l. = bottom)
	if 0. then display of title is suppressed
STEER	0./l. for without/with special treatment of special elements, of
	which the label starts with a S (steering magnet at SIN)

(*) if APFAC is multiplied with -1, then the magnet apertures are
    drawn in "complementary mode" (only valid for Windows and Linux).

example of F0R0O4.DAT:

ZMIN	0.00
ZMAX	61.00
XMPL	20.00
YMPL	20.00
APFAC	0.20
SPEZ	1.00
DISP	1.00
YDISP	0.00
RAX	0.00
RAY	0.00
MEASX	1.00
MEASY	1.00
MEASD	0.00
CUMAX	10.00
SPEZ2	0.00
CSX	0.00
CSY	0.00
YTIT	40.00
STEER	1.00

                                  - 19 -          (Back to Contents)


16. 3. How to transfer measured beam line data into Transport input files?
--------------------------------------------------------------------------

Assume you have a front end computer, which is able to measure and reduce
beam line profiles (2-Sigma-values in units of mm/10) and to read actual quad
settings as DAC-values and to put all these data in a file named F0R022.DAT
(see example below) on your VAX, then you may use the procedure TF, in order
to transfer these values into your transport input file FOROOl.DAT. With the
help of the file QUADS.CAL (see example below) the DAC values are converted
into field values in kG and put as the 3rd entry on the type code 5 lines.
The 2-Sigma beam values are put as the 4th entry on the type code 10 lines,
but only, if the indicators i,j are l,l or 3,3.

example of a F0R022.DAT file:

 -500  -401  -820   389	 2187 -2629 -2135 1990 1500 -500 | space for max. 30
-1900  1986 -1030  2312 -1370 -1039  1419    0    0    0 | DAC-values
    0	  0	0     0	    0	  0     0    0    0    0 | FORMAT (10I6)
   11	 30    67    73	   42	 30    17   24   22   31 | space for max. 20
   19	 66   125   115	  130	 70     0    0    0    0 | horz. Beam sizes
   17	 20    16    13	   16	 12    28   22   18   27 | space for max. 20
   17	 69   183   167	   51	 27     0    0    0    0 | vert. Beam sizes

QUADS.CAL for quadrupoles of SIN proton beam lines:

Type   Label	Leff	hap	ff		off	aa
--------------------------------------------------------------
QNC	%%%%	252	475	449.0		0.0	131.6   Leff: effective magnet
QNA	%%%%	293	500	668.1		0.0	200.0	length (L) in mm/10
QLA	%%%%	293	500	668.1		0.0	200.0   hap:	half-aperture (a)
QxA	%%%%	296	500	648.0		0.0	200.0	in mm/10
QXB	%%%%	423	750	980.0		0.0	200.0   for procedure TF, 0 and I
QNB	%%%%	438	750	532.2		0.0	370.0   formula for conversion:
QND	%%%%	234	450	3792.0		0.0	19.2    B(kG) = (DAC - off) / ff
FMQ	%%%%	400	100	5634.0		0.0	900.0   and for procedure 0:
QHA	%%%%	426	500	546.0		0.0	200.0   I(A)	= DAC / 4095 * aa
QHB	%%%%	426	600	491.0		0.0	500.0   this only if data on the
QHC	%%%%	635	750	360.0		0.0	500.0   type code 5 line correspond
QTC	%%%%	678	800	477.3		0.0	500.0   to Leff and hap values of
QWA	%%%%	135	400	1070.3		-15.0	80.0    one line of this file. If
QWA	%%%%	67	400	1070.3		-15.0	80.0    Label=%%%%, then the label
QWB	QWB1	132	400	708.0		-13.0	120.0   of the considered type code
QWB	QWB2	132	400	708.0		-13.0	120.0   5 line is ignored, otherwise
QWB	QWB7	132	400	708.0		-13.0	120.0   both have to correspond.
QWB	QWBB	132	400	708.0		-13.0	120.0
QWB	QWB3	132	400	849.6		-15.0	100.0
QWB	QWB4	132	400	849.6		-15.0	100.0
QWB	QWB5	132	400	849.6		-15.0	100.0
QWB	QWB6	132	400	849.6		-15.0	100.0
QNC	QCl	252	475	444.0		0.0	131.6
QNC	QC2	252	475	455.0		0.0	131.6
QNC	QC3	252	475	444.0		0.0	131.6

                                  - 20 -          (Back to Contents)


16. 4. Training with built-in examples.
---------------------------------------

Log into your working account and press TRANS. Preferably use a VT100 Retro
Graphics terminal. After terminal identification do the following:

lst example:

$TRANS		transport global symbols are defined. Terminal identification is performed.
$SYM		all defined global symbols are shown.
$ENVFIT		ENVFIT.DAT ----} FOROOI.DAT	transport input file
$DISMOD		DISMOD.DAT ----} F0R0O4.DAT	graphics input file
$MEASDATA	MEASDATA.DAT --} F0R022.DAT	get measured data
$TF		F0R022.DAT ----} FOROOI.DAT	transfer measured data
$T		run transport, graphics output, answer to posed question
		with P, if you want a copy on the PRINTRONIX (*, or
		simply press "Return" for no copy or no PRINTRONIX available
$O		printout of different tables, e.g. F for table of
		different fits, or BE for fitted beam parameters. Simply
		press "Return" to exit function 0.
$E		graphic display of beam ellipses. First enter HELP to
		activate the help feature. Proceed like indicated there.
		(among others 85%-emittance values are displayed.)
2nd example:

$PROTON		PROTON.DAT -} FOROOl.DAT	transport input file
$BOI		Beam data from F0R0O2.DAT of prev. run ----} FOROOl.DAT
$QOI		Quad data from F0R0O2.DAT of prev. run ----} FOROOI.DAT
$T		run transport, graphics output, answer to posed question
$O		printout of different tables, e.g. F for table of
		different fits, or Q for fitted quad values. Simply
		press "Return" to exit function 0.
$SI		press HELP for help feature, continue with typing in
		EHT: most important beam parameters at this location are shown.

3rd example:

$TESTSEC3 	TESTSEC3.DAT -} FOROOI.DAT	transport input file
$T	  	run transport, graphics output, answer to posed question
$O	  	activate function O:
 D	  	select display file editing.
 ZMAX,l3.  	ZMAX is changed to proper value.
 APFAC,l.  	APFAC is modified.
$R	  	show envelopes once more with modified display parameters.
$TIJK	  	inspect 2nd order contributions to the beam at different
		z-coordinates. Listed per coordinate in descending magnitude.
$DTM 122 222 	the 122 and 222 components are shown graphically along the beam line.
$DIRF	  	Directory of all produced scratch files is listed.
$DELF	  	Deletion of all scratch files but last versions of FOROOI.DAT and F0R0O4.DAT.

4th example:

$PROFIT		PROFIT.DAT ----} FOROOI.DAT	transport input file
$TFO		run transport, F0R0O2.DAT (formatted) is generated.
$SI		has built-in help feature. Inspect Rl- and v-matrices.
		at different labels or z-coordinates.
$EL		tabulates all *elements*.
$PRI F0R0O2.DAT print formatted transport output file on system printer.

*) If you have a PRINTRONIX printer, assign the logical name SYS$PRINTRONIX
to this device. Each time you answer with P, then a hard copy of the
graphic meta-file is sent to this printing device.

                                  - 21 -          (Back to Contents)

    17.  APPENDIX B: Graphic User Interface (GUI) for MS-Windows.
    -------------------------------------------------------------

    The user interface for the MS-Windows versions is more or less self
explaining. But there are 3 features, which are somewhat hidden:

a) Almost all windows have an expanded system menu (upper left corner) with
features like printing, output to file or clipboard.

b) If the Transport shell window is the top window, it has also the input focus
for the keyboard. If you press a key, then a small window pops up with the typed
key already in it. Further input may be entered. Terminating this input with
"Return" will start some action if the input was legal. To find out all legal
possibilities, you have just to press 3 times "Return" for seeing a table
popping up. Many of these commands are the same as used for the VAX-VMS user
interface.

c) When the Transport graphics output is shown, you may click with the right
mouse button to any element in the window. A small box is popping up and
showing the most important parameters of this element. If the element is a
magnetic one, then you may change its field setting, and if you like, you
may even change several of them and ask for a new Transport run. When completed
the new envelope is drawn with the former one(s) to show the difference.



    18.  APPENDIX C: New formula for quadrupole excitation curves.
    --------------------------------------------------------------

    New quadrupole magnets are often operated at points of the non-linear
  portion of their excitation curve, which can be well represented by a 3rd
  order polynomial with coefficients A0, A1, A2 and A4. The field at the pole tips
  (Bpol) can be computed with the following formula (furnished by Dave George
  of the PSI Magnet Section):

  Bpol = A0 + A1 * J/Jmax                         for J <= J0
  Bpol = A0 + A1 * J/Jmax + A2 * r^2 + A3 * r^3   for J > J0 
  with r = (J-J0) / (Jmax-J0)
  This formula has been implemented in the PC versions of Transport.
  
  QUADS.CAL for diverse quadrupoles of PSI proton beam lines:

  Type Label  Leff  hap	   A0     A1     A2     A3    J0    Jmax   DACm

  QHA  %%%%   426   500    0.0  7.599    0.0    0.0  200.0  200.0  4095.
  QHB  %%%%   426   600    0.0  8.006    0.0    0.0  500.0  500.0  4095.
  QHC  %%%%   635   750    0.0  4.716    0.0    0.0  200.0  200.0  4095.
  QTC  %%%%   678   800    0.0  8.578 -0.034 -0.459  295.0  500.0  4095.
  QTC  %%%%   665   800    0.0  8.578 -0.034 -0.459  295.0  500.0  4095.
  QHG  %%%%   644  1250    0.0  7.189    0.0    0.0  500.0  500.0  4095.
  QHI  %%%%   744  1290    0.0  9.238 -0.724 -0.056  398.0  600.0  4095.
  QHJ  %%%%   960  1100    0.0  6.813 -0.018  0.003  225.0  500.0  4095.




    19.  APPENDIX D: Graphic User Interface (GUI) for LINUX.
    --------------------------------------------------------

  Menu programmed with Tcl/Tk. Graphic interface for envelope, beam ellipses
  and 2nd order display done with an Xlib-interface programmed in C.
  More info not yet available. 

                                  - 22 -          (Back to Contents)


    20.  REFERENCES:
    ----------------

[1] K.L. Brown et al. Transport, a computer program for designing
    charged particle beam transport systems. CERN 73-16 (1973).
[2] F. Sacherer and T.R. Sherwood, space charge modifications for
    Transport. MPS-SI/Note - LIN/71-7 (1971).
[2a] Frank J. Sacherer, RMS Envelope Equations with Space Charge,
     IEEE Transactions of Nuclear Science, NS-18, (1971), p.1105-1107.
[2b] F.J. Sacherer and T.R. Sherwood, The Effect of Space Charge in Beam
     Transport Lines, IEEE Transactions of nuclear Science, NS-18, (1971),
     p.1066-1067.
[3] K.L. Brown et al. Transport, a computer program for designing
    charged particle beam transport systems. CERN 80-04 (1980).
[4] A. Galejs and P.H. Rose, Optics of Electrostatic Accelerator Tubes.
    Focusing of Charged Particles Vol.2 (1967) 317.
[5] W. Joho and C. Kost, SPEAM, A computer program for space charge beam
    envelopes, TRI-DN-73-11 (1973).
[6] Banford: The Transport of charged particle beams. p.131-135.
[7] J.W. Gardner and D. Whiteside, TRAMP, NIRL/M/21 (1961) p4. (CERNLIB: W100)
[8] R. Frosch, First order beam transport matrices for a muon spin rotator.
    SIN-TM-37-14 (1980)
[9] H. Wollnik, J. Brezina, C. Geisse: GIOS - A Program for the Design of Ion
    Optical Systems. Physikalisches Institut, Uni. Giessen, D-6300 Giessen.
[10] H. Matsuda, H. Wollnik: Third Order Transfer Matrices for the Fringing
     Field of Magnetic and Electrostatic Quadrupole Lenses. Nucl. Inst. and
     Methods 103 (1972) p.117-124.
[11] Udo Witzke, c't, German computer journal, July 1991, p. 182-187.
[12] D.C. Carey, New Features in Transport, Fermilab TM-1046 2041.000 (1981)
[13] Frank Hinterberger, Physik der Teilchenbeschleuniger und Ionenoptik,
     p.205-216, Springer, Berlin (1997), in German.
[14] Arthur C. Paul, LBL Version of Transport (1971), UCID-3525, p.G-50

                                                  (Back to Contents)

Transport application: Medical Gantry - Optical Design
Transport application: Envelope Fits
Last updated by Urs Rohrer on 6-May-2010