% Read in by FEYNMANDOC:  FEYNMANDOC4I.  Called by FD4I.COM
%\chapter{Advanced Features con't :  LOOPS}
%
\section{Loops}

There is a primitive facility in \FEYNMAN\ for drawing loops.  In the current
version it is only capable of drawing gluon loops.  Fermion loops may be drawn
with the \bs circle command as illustrated, for instance, in the exercise at
the conclusion of the previous section.  In future versions it is hoped that
photonic (and perhaps scalar) loops may be available.  

\subsection{Non-central Loops}

To draw a circular
gluonic loop, or portion thereof, one uses the \bs{\it drawloop} command whose
syntax is reminiscent of the \ddrawline\ and \ddrawvertex\ commands.
\begin{verbatim}

\drawloop<particle type>[<initial direction><extent>](x,y)

\end{verbatim}
where the particle type is currently limited to \bs{\bf gluon}.
The `extent' is the number of eighths of a complete loop which are to be drawn
(1-8) with 8 indicating a complete, closed, circular loop.  The loop commences
from the point $(x,y)$ in the direction of `initial direction' and continues
being drawn clockwise until the requested number of eighths have been
completed.  A number of useful parameters are returned after \bs drawloop
has been called.
\begin{verbatim}

\loopfrontx,\loopfronty   co-ords of beginning point of loop
\loopbackx,\loopbacky     co-ords of opposite point of loop
\loopmidx,\loopmidy       co-ords of geometric middle point of loop
\pbackx,\pbacky           co-ords of end point of loop
\gluonbackx,\gluonbacky   co-ords of end point of loop (for a gluon loop)

\end{verbatim}
It must be noted that \bs loopbackx,y and \bs loopmidx,y are {\em only}
assigned values if at least half of a loop has been drawn, that is if the loops
`extent' is at least 4.  Some examples will illustrate this:
\begin{verbatim}

\THICKLINES
\begin{picture}(8000,8000)
\drawline\fermion[\E\REG](0,0)[2000]
\drawloop\gluon[\NE 3](\pbackx,\pbacky)
\drawline\fermion[\E\REG](\pbackx,\pbacky)[2000]
\drawline\fermion[\W\REG](\pbackx,\pbacky)[7000]
\end{picture}

\end{verbatim}
would produce

\THICKLINES
\begin{picture}(8000,8000)
\drawline\fermion[\E\REG](0,0)[2000]
\drawloop\gluon[\NE 3](\pbackx,\pbacky)
\drawline\fermion[\E\REG](\pbackx,\pbacky)[2000]
\drawline\fermion[\W\REG](\pbackx,\pbacky)[7000]
\end{picture}
\vskip 0.2in
whereas
\begin{verbatim}

\THICKLINES
\begin{picture}(8000,8000)
\drawline\fermion[\E\REG](0,0)[2000]
\drawloop\gluon[\N 5](\pbackx,\pbacky)
\drawline\fermion[\E\REG](\pbackx,\pbacky)[2000]
\drawline\fermion[\W\REG](\pbackx,\pbacky)[7000]
\end{picture}

\end{verbatim}
would give

\THICKLINES
\begin{picture}(8000,8000)
\drawline\fermion[\E\REG](0,0)[2000]
\drawloop\gluon[\N 5](\pbackx,\pbacky)
\drawline\fermion[\E\REG](\pbackx,\pbacky)[2000]
\drawline\fermion[\W\REG](\pbackx,\pbacky)[7000]
\end{picture}
\vskip 0.2in

As can be seen \bs THICKLINES works.  So does phantom mode.
To produce:

\begin{picture}(8000,8000)
\drawline\fermion[\E\REG](0,0)[2000]
\drawloop\gluon[\NE 5](\pbackx,\pbacky)
\negate\gluonbackx
\global\advance\fermionbackx by \gluonbackx
\double\fermionbackx   \multroothalf\fermionbackx
\drawline\fermion[\NW\REG](\pbackx,\pbacky)[\fermionbackx]
\drawline\fermion[\S\REG](\pfrontx,\pfronty)[2000]
\end{picture}
\THINLINES
\vskip 0.75in
one would enter

\begin{verbatim}


\begin{picture}(8000,8000)
\drawline\fermion[\E\REG](0,0)[2000]
\drawloop\gluon[\NE 5](\pbackx,\pbacky)
\negate\gluonbackx
\global\advance\fermionbackx by \gluonbackx
\double\fermionbackx   \multroothalf\fermionbackx
\drawline\fermion[\NW\REG](\pbackx,\pbacky)[\fermionbackx]
\drawline\fermion[\S\REG](\pfrontx,\pfronty)[2000]
\end{picture}

\end{verbatim}
Finally, to point out exactly where \bs loopmidx,y and \bs loopbackx,y are,
we try:

% FROM GLULOOP6.TEX
\vskip -0.205in
\begin{picture}(8000,8000)
\drawloop\gluon[\NE 8](0,0)
\drawline\fermion[\W\REG](0,0)[2000]
\drawline\fermion[\E\REG](\loopbackx,\loopbacky)[2000]
\drawline\fermion[\E\REG](\loopmidx,\loopmidy)[1000]
\drawline\fermion[\W\REG](\loopmidx,\loopmidy)[1000]
\drawline\fermion[\S\REG](\loopmidx,\loopmidy)[1000]
\drawline\fermion[\N\REG](\loopmidx,\loopmidy)[1000]
\drawline\fermion[\S\REG](\pbackx,\pbacky)[2000]
\end{picture}
\vskip 0.4in

created via
\begin{verbatim}

\drawloop\gluon[\NE 8](0,0)

\drawline\fermion[\W\REG](\loopfrontx,\loopfronty)[2000]
\drawline\fermion[\E\REG](\loopbackx,\loopbacky)[2000]
\drawline\fermion[\E\REG](\loopmidx,\loopmidy)[1000]
\drawline\fermion[\W\REG](\loopmidx,\loopmidy)[1000]
\drawline\fermion[\S\REG](\loopmidx,\loopmidy)[1000]
\drawline\fermion[\N\REG](\loopmidx,\loopmidy)[1000]
\drawline\fermion[\S\REG](\pbackx,\pbacky)[2000]
 
\end{verbatim}

\subsection{Central Loops}

As can be seen from the previous example, \bs loopfrontx,y and \bs loopbackx,y
are not at the same level as \bs loopmidx,y or each other.  This is because the
peculiar way in which \LaTeX\ draws gluons.  The result is that certain loops
may appear stilted, for instance the gluon loop correction to a gluon
propagator.  To alleviate this problem an alternate mode exists.  If the user
requests that the number of `eighths' drawn be zero then a complete loop will
be drawn in the {\em central} mode.  In this mode the only parameters to be
entered are the co-ordinates of the {\bf centre} of the loop.  The initial
direction may be specified as anything and is irrelevant.  ONLY complete loops
may be drawn in this fashion.  The returned parameters are the same but have
slightly altered interpretations.  \bs loopmidx,y are as before.  
\bs loopfrontx,y refer to the {\em left-most} point (that furthest west) of the
loop and \bs loopbackx,y refers to the {\em right-most} point (furthest east).
For instance
\begin{verbatim}
\drawloop\gluon[\NE 0](0,0)
\end{verbatim}
would produce a complete loop centred at (0,0) with \bs loopfronty and
\bs loopbacky both equal to zero.  In this way one could produce
\vskip -0.1in
\hskip 0.5in
\begin{picture}(18000,8000)
\drawloop\gluon[\NE 0](8000,0)
\frontstemmed\drawline\gluon[\E\CENTRAL](\loopbackx,\loopbacky)[5]
\frontstemmed\drawline\gluon[\W\FLIPPEDCENTRAL](\loopfrontx,\loopfronty)[5]
\end{picture}
\vskip 0.47in

with the three statements
\begin{verbatim}

\drawloop\gluon[\NE 0](0,0)
\frontstemmed\drawline\gluon[\E\CENTRAL](\loopbackx,\loopbacky)[5]
\frontstemmed\drawline\gluon[\W\FLIPPEDCENTRAL](\loopfrontx,\loopfronty)[5]
\end{verbatim}
