%                     FEYNMAN(34).TEX
%  CALLING ROUTINE FOR DRAWING FEYNMAN DIAGRAMS IN LATEX.
%  DOCUMENTATION IN "FEYNMAN - A LaTeX Routine for Generating Feynman Diagrams"
%  Cavendish-HEP 88/11  (Cavendish Labs, Cambridge, UK).
%  See also: Levine, M.J.S., A LaTeX Graphics Routine for Drawing Feynman
%  Diagrams, Cavendish - HEP 89/4.
%  USES THE FOLLOWING TEX FILES:
%   GLUONSETUP(31), PHOTONSETUP(28), FERMIONSETUP(7), SCALARSETUP(9)
%   VERTEX(25), GLUONLINKS, LOOPS(1)
%
%   THIS PROGRAM PACKAGE NOT TO BE ALTERED WITHOUT THE EXPRESS WRITTEN
%   PERMISSION OF THE AUTHOR.
%
%**************************************************************************
%
%                           SAMPLE USAGE
%
%  \documentstyle[12pt]{article}
%  \begin{document}
%  \input FEYNMAN
%  \textheight 800pt \textwidth 450pt
%  \begin{picture}(10000,18000)
%  \drawline\gluon[\S\REG](0,16000)[8]
%  \drawline\fermion[\SW\REG](\gluonbackx,\gluonbacky)[2000]
%  \drawline\fermion[\SE\REG](\gluonbackx,\gluonbacky)[2000]
%  \end{picture}
%  \end{document}
%
%**************************************************************************
%
\message{FEYNMAN:  For generating Feynman Diagrams in LaTex}
\message{Mark 1.0 Last Altered by MJSL 2/89}
%%% \textheight 650pt \textwidth 400pt  % Page size set.
\setlength{\unitlength}{0.01pt}
\gdef\Feynmanlength{\setlength{\unitlength}{0.01pt}}  % Say \Feynmanlength
\gdef\unlock{\catcode`\@=11}
%  Allows use of "@" in macro names, like PLAIN.TEX does.
\gdef\lock{\catcode`\@=12}%  Change @'s back to their normal category code.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% ESTABLISH SOME COUNTERS TO INDICATE WHICH TYPE OF PARTICLE LINE IS
% BEING DRAWN.
%
% EACH TYPE OF  PARTICLE LINE HAS A CODE OF 3 1-DIGIT NUMBERS.
% THE FIRST DIGIT INDICATES THE BASIC PARTICLE TYPE (GLUON, PHOTON ETC.)
% THE SECOND INDICATES THE DIRECTION (HORIZONTAL, ANGLED, VERTICLE)
% THE THIRD INDICATES SUB-CASES (DIFFERENT SIZES ETC.)
%
%                             THE CODE
%                             ========
%
%  FIRST DIGIT:  \LINETYPE or \LTYPE
%
%    1   FERMION              (SOLID LINE)
%    2   SCALAR               (DASHED LINE)
%    3   PHOTON/VECTOR BOSON  (UNDULATING LINE)
%    4   GLUON                (CURLY, LOOPING LINE)
%    5   SPECIAL              (USER-DEFINED)
%
%  SECOND DIGIT:  \LINEDIRECTION or \LDIR
%
%    Eight directions are possible...the eight compass points.
%    North is at the top of the page
%
%    0   \N   North        (Vertical;  bottom to top)
%    1   \NE  North-East   (45 degrees; to the upper right)
%    2   \E   East         (Horizontal;  left to right)
%    3   \SE  South-East   (45 degrees; to the lower right)
%    4   \N   South        (Vertical;  top to bottom)
%    5   \SW  South-West   (45 degrees; to the lower left)
%    6   \W   West         (Horizontal;  right to left)
%    7   \NE  North-West   (45 degrees; to the upper left)
%
%  THIRD DIGIT:  \LINECONFIGURATION or \LCONFIG
%
%    0   STANDARD CONFIGURATION
%    1   FLIPPED (INVERTED; UPSIDE-DOWN) CONFIGURATION (PHOTONS & GLUONS)
%    2   CURLY
%    3   FLIPPEDCURLY
%    4   FLAT (PHOTONS AND GLUONS - CERTAIN DIRECTIONS ONLY)
%    5   FLIPPEDFLAT
%    6   CENTRAL (GLUONS ONLY);  LONGPHOTON (PHOTONS ONLY)
%    7   FLIPPEDCENTRAL; FLIPPEDLONG
%    8   SQUASHED (GLUONS ONLY - ONLY `EASTBOUND')
%    9   FLIPPEDSQUASHED
%
%.............................................................
%
\global\newcount\LINETYPE
\global\newcount\LINEDIRECTION
\global\newcount\LINECONFIGURATION
\newcommand{\LTYPE}{\LINETYPE}
\newcommand{\LDIR}{\LINEDIRECTION}
\newcommand{\LCONFIG}{\LINECONFIGURATION}
%DEFAULTS:  Horizontal fermion.
\global\LINETYPE=1  \global\LINEDIRECTION=0  \global\LINECONFIGURATION=0
%  The parametric code names.  Don't change these.
\global\newcount\fermion    \fermion=1
\global\newcount\scalar     \scalar=2
\global\newcount\photon     \photon=3
\global\newcount\gluon      \gluon=4
\global\newcount\SPECIAL    \SPECIAL=5
\gdef\N{0}  \gdef\NE{1}  \gdef\E{2}   \gdef\SE{3}
\gdef\S{4}  \gdef\SW{5}  \gdef\W{6}   \gdef\NW{7}
\global\newcount\REG            \global\REG=0
\global\newcount\FLIPPED        \global\FLIPPED=1
\global\newcount\CURLY          \global\CURLY=2
\global\newcount\FLIPPEDCURLY   \global\FLIPPEDCURLY=3
\global\newcount\FLAT           \global\FLAT=4
\global\newcount\FLIPPEDFLAT    \global\FLIPPEDFLAT=5
\global\newcount\CENTRAL        \global\CENTRAL=6
\global\newcount\FLIPPEDCENTRAL \global\FLIPPEDCENTRAL=7
\gdef\LONGPHOTON{6}             \gdef\FLIPPEDLONG{7}
\global\newcount\SQUASHEDGLUON  \global\SQUASHEDGLUON=8
\gdef\SQUASHED{\SQUASHEDGLUON}
%\global\newcount\FLIPPEDSQUASHEDGLUON  \FLIPPEDSQUASHEDGLUON=9
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% SOME COUNTERS AND DEFINITIONS FOR POSITIONS AND LENGTHS OF LINES & FEATURES %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcount\adjx \adjx=0
\newcount\adjy \adjy=0
\global\newdimen\BIGPHOTONS     \BIGPHOTONS=0pt  %  DEFAULT:  10 & 11-PT
% PHOTONS
\gdef\bigphotons{\global\BIGPHOTONS=12pt}%FOR 12-PT DOCS DRAWING E-W PHOTONS.
\global\newdimen\THICKPHOTONS     \THICKPHOTONS=0pt  %  FOR E-W PHOTONS
\global\newdimen\THICKPHOTONSWITCH    \THICKPHOTONSWITCH=0pt
\gdef\THICKPHOTONTEST{
\THICKPHOTONSWITCH=0pt
\ifdim\THICKPHOTONS=0pt \relax
  \else \ifnum\LTYPE=3
           \ifnum\LDIR=2 \THICKPHOTONSWITCH=1pt \fi % THICK \E PHOTON
           \ifnum\LDIR=6 \THICKPHOTONSWITCH=1pt \fi % THICK \W PHOTON
        \fi
\fi
}  % end of THICKPHOTONTEST
\gdef\THICKLINES{\thicklines  \THICKPHOTONS=1pt}
\gdef\THINLINES{\thinlines  \THICKPHOTONS=0pt}
\global\newcount\phantomswitch   \global\phantomswitch=0
\global\newcount\stemlength   \global\stemlength=275   % Default STEM length.
\global\newcount\absstemlength        % A copy of STEM length.
\global\newcount\stemlengthx          % FOR STEMS on particle lines
\global\newcount\stemlengthy          % FOR STEMS on particle lines
\newdimen\FRONTSTEM  \FRONTSTEM=0pt   % FOR STEMS
\newdimen\BACKSTEM   \BACKSTEM=0pt    % FOR STEMS
\newdimen\EITHERSTEM \EITHERSTEM=0pt  % FOR STEMS
\gdef\frontstemmed{\FRONTSTEM=1pt}            % FOR STEMS
\gdef\backstemmed{\BACKSTEM=1pt}              % FOR STEMS
\gdef\stemmed{\FRONTSTEM=1pt  \BACKSTEM=1pt}    % FOR STEMS
\global\newcount\arrowlength                % FOR ARROWS
\global\newdimen\ATTIP   \global\ATTIP=0pt  % FOR ARROWS
\global\newdimen\ATBASE  \global\ATBASE=1pt % FOR ARROWS
\global\newcount\unitboxnumber  % SHOWS THE NUMBER OF `UNIT BOXES' IN LINE
\global\newcount\unitboxnumberpo  % One more than \unitboxnumber (in
% GLUONSETUP)
\global\newcount\particlelengthx  % THE X-LENGTH OF THE PARTICLE LINE
\gdef\plengthx{\particlelengthx}
\global\newcount\particlelengthy  % THE Y-LENGTH OF THE PARTICLE LINE
\gdef\plengthy{\particlelengthy}
\global\newcount\boxlengthx  % THE X-LENGTH OF THE BOX:  abs(plengthx) usually
\global\newcount\boxlengthy  % THE y-LENGTH OF THE box:  abs(plengthy) usually
\global\newcount\particleadjustx  % Replaces \gluonadjustx, \scalaradjustx etc.
\global\newcount\particleadjusty  % Replaces \gluonadjusty, \scalaradjusty etc.
\global\newcount\particlelength   % The LENGTH of a particle line BOX (x)
\global\newcount\particlefrontx
\gdef\pfrontx{\particlefrontx}
\global\newcount\PFRONTx
\global\newcount\particlefronty
\gdef\pfronty{\particlefronty}
\global\newcount\PFRONTy
\global\newcount\particlebackx
\gdef\pbackx{\particlebackx}
\global\newcount\particlebacky
\gdef\pbacky{\particlebacky}
\global\newcount\particlemidx
\gdef\pmidx{\particlemidx}
\global\newcount\particlemidy
\gdef\pmidy{\particlemidy}
% SOME SPECIAL DEFS FOR \SCALARs:
\global\newcount\seglength  \global\newcount\gaplength
\global\gaplength=850  %default
\global\seglength=1416  % Length of each seg not including `ends' for
% attachment
% Now some storage locations for the user:
\global\newcount\Xone    \global\newcount\Yone    % user co-ords (\Xone,\Yone)
\global\newcount\Xtwo    \global\newcount\Ytwo    % user co-ords (\Xtwo,\Ytwo)
\global\newcount\Xthree  \global\newcount\Ythree  % user's (\Xthree,\Ythree)
\global\newcount\Xfour   \global\newcount\Yfour   % user co-ords
% (\Xfour,\Yfour)
\global\newcount\Xfive   \global\newcount\Yfive   % user co-ords
% (\Xfive,\Yfive)
\global\newcount\Xsix    \global\newcount\Ysix    % user co-ords (\Xsix,\Ysix)
\global\newcount\Xseven  \global\newcount\Yseven  % user's (\Xseven,\Yseven)
\global\newcount\Xeight  \global\newcount\Yeight  % user's (\Xeight,\Yeight)
%
%  SOME COUNTERS IDENTIFYING VARIOUS LINE PORTIONS AND DIMENSIONS:
%
\newsavebox{\lastline}  %  Default name for an unnamed particle line.
\global\newcount\numlineparts   % Num of pieces each unitbox of the line needs
\global\newcount\upperlineadjx  \upperlineadjx=0  %Default
\global\newcount\upperlineadjy  \upperlineadjy=0  %Default
\global\newcount\lowerlineadjx  \lowerlineadjx=0  %Default
\global\newcount\lowerlineadjy  \lowerlineadjy=0  %Default
\global\newcount\thirdlineadjx  \thirdlineadjx=0  %Default
\global\newcount\thirdlineadjy  \thirdlineadjy=0  %Default
\global\newcount\fourthlineadjx \fourthlineadjx=0  %Default
\global\newcount\fourthlineadjy \fourthlineadjy=0  %Default
\global\newcount\unitboxwidth   \unitboxwidth=1000%Default
\global\newcount\unitboxheight  \unitboxheight=0  %Default
\global\newcount\numupperunits  \numupperunits=8  %Default
\global\newcount\numlowerunits  \numlowerunits=8  %Default
\global\newcount\numthirdunits  \numthirdunits=8  %Default
\global\newcount\numfourthunits \numfourthunits=8  %Default
%  Some counters.  =0 until a line-type is drawn. Then=1.
\global\newcount\fermioncount   \global\fermioncount=0
\global\newcount\scalarcount    \global\scalarcount=0
\global\newcount\photoncount    \global\photoncount=0
\global\newcount\gluoncount     \global\gluoncount=0
\global\newcount\SPECIALcount   \global\SPECIALcount=0
\global\newcount\vertexcount    \global\vertexcount=-1
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%     AUXILIARY ROUTINES FOR SETTING PARTICLE DIRECTIONS     %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\global\newcount\XDIR
\global\newcount\YDIR
\gdef\SETDIR{  % SETS THE DIRECTIONS
\ifcase\LDIR
     \global\XDIR=0  \global\YDIR=1   %\N  case.
\or  \global\XDIR=1  \global\YDIR=1   %\NE case.
\or  \global\XDIR=1  \global\YDIR=0   %\E  case.
\or  \global\XDIR=1  \global\YDIR=-1  %\SE case.
\or  \global\XDIR=0  \global\YDIR=-1  %\S  case.
\or  \global\XDIR=-1 \global\YDIR=-1  %\SW case.
\or  \global\XDIR=-1 \global\YDIR=0   %\W  case.
\or  \global\XDIR=-1 \global\YDIR=1   %\NW case.
\else\DIRECTERROR
\fi}  % END OF \SETDIR
%
\gdef\moduloeight#1{
\ifnum#1>7 \global\advance #1 by -8
\relax
\moduloeight#1
\relax
\else \relax
\fi}
\gdef\multroothalf#1{\global\multiply #1 by 7071 \global\divide #1 by 10000}
\gdef\negate#1{\global\multiply #1 by -1}
\gdef\double#1{\global\multiply #1 by 2}
\gdef\slanttest(#1,#2){
\ifodd\LDIR
\multiply #1 by 7071  \divide #1 by 10000
\multiply #2 by 7071  \divide #2 by 10000
\fi
}
\gdef\gslanttest(#1,#2){
\ifodd\LDIR
\multroothalf#1
\multroothalf#2
\fi
}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% AUXILIARY ROUTINES FOR SETTING PARTICLE LENGTHS & POSTIONS %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\gdef\setplength{ % calcs length of particle line
\global\particlelengthx=\unitboxwidth
\global\particlelengthy=\unitboxheight
\global\multiply \particlelengthx by \unitboxnumber
\global\multiply \particlelengthy by \unitboxnumber
\global\advance \particlelengthx by \particleadjustx
\global\advance \particlelengthy by \particleadjusty
}
\gdef\boxlengthdefault{  % DEFAULT FOR BOX SIZES IN \drawas
\global\boxlengthx=\plengthx
\global\boxlengthy=\plengthy
\ifnum\plengthx<0 \global\multiply\boxlengthx by -1 \fi
\ifnum\plengthy<0 \global\multiply\boxlengthy by -1 \fi
}
\gdef\rearcoords{  %  CALCULATES THE CO-ORDINATES OF THE BACK OF PARTICLE LINE
\global\particlebacky=\particlefronty
\global\particlebackx=\particlefrontx
\global\advance \particlebackx by \particlelengthx
\global\advance \particlebacky by \particlelengthy
}
\gdef\midcoords{  %  CALCULATES THE CO-ORDINATES OF THE MID OF PARTICLE LINE
\global\particlemidy=\particlefronty
\global\particlemidx=\particlefrontx
\global\stemlengthx=\particlelengthx  % Convenient variables not being used
\global\stemlengthy=\particlelengthy
\global\divide\stemlengthx by 2
\global\divide\stemlengthy by 2
\global\advance \particlemidx by \stemlengthx
\global\advance \particlemidy by \stemlengthy
}
\gdef\setparticle{\setplength\rearcoords\midcoords\boxlengthdefault}  %sets
% line
%
\gdef\setcoords(#1,#2,#3)(#4,#5,#6)[#7,#8]{
% Sets co-ords of first 3 line-parts of a line and the unitbox height and width
% Used by photons and gluons.
\global\upperlineadjx=#1
\global\lowerlineadjx=#2
\global\thirdlineadjx=#3
\global\upperlineadjy=#4
\global\lowerlineadjy=#5
\global\thirdlineadjy=#6
\global\unitboxwidth=#7
\global\unitboxheight=#8
}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                             %
%                     ROUTINES FOR DRAWING LINES                              %
%                                                                             %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% *********   ROUTINE FOR DRAWING STORED LINES AND PICTURES   *************
%
\gdef\drawoldpic#1(#2,#3){  % DRAWS PRE-SAVED PICTURE
\global\particlefrontx=#2
\global\particlefronty=#3
\rearcoords
\midcoords
\put(#2,#3){\usebox{#1}}
}
%
\gdef\drawsavedline`#1' as #2[#3#4](#5,#6)[#7]{
\global\LINETYPE=#2
\global\LINEDIRECTION=#3
\global\LINECONFIGURATION=#4
\global\particlefrontx=#5
\global\particlefronty=#6
\global\unitboxnumber=#7
% Formerly called \numhalfwiggles,\numdashes, \numloops, \fermionlength
% #1 is saved linename;   #2 is \LINETYPE;    #3 is \LINEDIRECTION
% #4 is \LINECONFIGURATION (#5,#6)=(x,y) co-ords;  #7 is linelength
% (eg#wiggles)
\selectcase
\rearcoords% moved from before selectcase.
\midcoords
\ifnum\phantomswitch=0 \drawas{#1}\fi
% if \phantomswitch=1 then just set the line up and don't draw it.
}

\gdef\startphantom{\phantomswitch=1} % BEGIN PHANTOM MODE.
\gdef\stopphantom{\phantomswitch=0}  % END PHANTOM MODE.
% USE AS:
% \startphantom...\drawline\gluon[...]...\drawvertex\photon...\stopphantom

\gdef\drawas#1{
\global\savebox{#1}(\boxlengthx,\boxlengthy){
\setlength{\unitlength}{0.01pt}
\begin{picture}(\boxlengthx,\boxlengthy)
\multiput(\upperlineadjx,\upperlineadjy)(\unitboxwidth,\unitboxheight)
{\numupperunits}{\upperunitbox}
\ifnum\numlineparts > 1  %  If the line needs 2 parts per unit or more
\multiput(\lowerlineadjx,\lowerlineadjy)(\unitboxwidth,\unitboxheight)
{\numlowerunits}{\lowerunitbox}
\fi
\ifnum\numlineparts > 2  %  If the line needs 3 parts per unit or more
\multiput(\thirdlineadjx,\thirdlineadjy)(\unitboxwidth,\unitboxheight)
{\numthirdunits}{\thirdunitbox}
\fi
\ifnum\numlineparts > 3  %  If the line needs 4 parts per unit or more
\multiput(\fourthlineadjx,\fourthlineadjy)(\unitboxwidth,\unitboxheight)
{\numfourthunits}{\lowerunitbox}
\fi
\end{picture} }
% CHECK STEMS
\global\PFRONTx=\pfrontx  \global\PFRONTy=\pfronty   %save this value
\SETFRONTSTEM
% Now take into account the possibility of THICK E-W photons (drawn twice)
\THICKPHOTONTEST
\ifdim\THICKPHOTONSWITCH=1pt\global\advance\PFRONTy by 20  \fi
\put(\PFRONTx,\PFRONTy) {\usebox{#1}}   %\pfrontX,Y=\particlefrontx,y
%\put(\particlefrontx,\particlefronty) {\usebox{#1}}
\ifdim\THICKPHOTONSWITCH=1pt
\global\advance\PFRONTy by -40
\put(\PFRONTx,\PFRONTy) {\usebox{#1}}   % The second \E or \W photon ->thicker
\global\advance \PFRONTy by 20  %re-adjust:  advanced by -20 in total above.
\fi  %End of \ifdim\THICKPHOTONSWITCH=1
\SETBACKSTEM
\seglength=1416   \gaplength=850   % Re-set \SCALR defaults.
}
%
% *********   ROUTINES FOR STORING LINES  *******
%

\gdef\drawandsaveline`#1' as #2[#3#4](#5,#6)[#7]{
% #1 is saved linename;   #2 is \LINETYPE;    #3 is \LINEDIRECTION
% #4 is \LINECONFIGURATION (#5,#6)=(x,y) co-ords;  #7 is linelength
% (eg#wiggles)
\global\newsavebox{#1}
\drawsavedline`#1' as #2[#3#4](#5,#6)[#7]
}

\gdef\drawline#1[#2#3](#4,#5)[#6]{   % Draw line but don't name it.
\drawsavedline`\lastline' as #1[#2#3](#4,#5)[#6]}

\gdef\saveas#1{  %  For saving a line after the fact.
\global\newsavebox#1
\drawas#1}
%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                      %
%                           C A S E S                                  %
%                           ---------                                  %
%                                                                      %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% ERROR MESSAGES FOR INCORRECT CASE SPECIFICATION:
\gdef\TYPEERROR{\message{*** ERROR IN PARTICLE TYPE SELECTION ***}
\message{+++ Try with line type \fermion,\scalar,\photon,\gluon
(see manual) +++}\SETERR}
\gdef\DIRECTERROR{\SETERR\message{*** ERROR IN PARTICLE DIRECTION SELECTION
***}
\message{+++ Try again with direction N, NE, E, SE  etc. or see manual +++}}
\gdef\UNIMPERROR{\message{*** ERROR IN PARTICLE OPTIONS SELECTION ***}
\message{
+++ The requested options combination has not yet been implemented +++}\SETERR}
\gdef\SETERR{\gdef\upperunitbox{{\tiny Error}}  % PRINTS `error' in diagram.
\gdef\lowerunitbox{\relax}
\gdef\thirdunitbox{\relax}
}
\gdef\neglengthcheck{\ifnum\unitboxnumber < 1
\message{   *** ERROR:  PARTICLE OF NEGATIVE OR ZERO LENGTH REQUESTED. ***   }
\message{   ***         TAKING ABSOLUTE VALUE. ***   }\negate\unitboxnumber
\fi}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\gdef\selectcase{
\neglengthcheck   %  check for particles of negative length.
% select PARTICLE alignment:
\SETDIR
%  Select particle type
\ifcase\LINETYPE
\TYPEERROR  % \LINETYPE=0 case.
\or \selectfermion  % \LINETYPE=1 case.
\or \selectscalar   % \LINETYPE=2 case.
\or \selectphoton   % \LINETYPE=3 case.
\or \selectgluon    % \LINETYPE=4 case.
\or \selectspecial  % \LINETYPE=5 case.
\else \TYPEERROR \fi  }
%%%%%%%%%%% (1) FERMIONS %%%%%%%%%%%
\gdef\selectfermion{
% Input fermion-setup stuff ONLY IF HAVE NOT DONE SO YET.
% This avoids having to process a fermion if none are drawn.
\ifnum\fermioncount=0 \input FERMIONSETUP \fi
%                  CONTAINS fermion DEFINITIONS.
\global\advance\fermioncount by 1  % Counts number of fermions drawn.
\ALLfermion
}
%%%%%%%%%%% (2) SCALARS %%%%%%%%%%%
\gdef\selectscalar{
% Input scalar-setup stuff ONLY IF HAVE NOT DONE SO YET.
% This avoids having to process a scalar if none are drawn.
\ifnum\scalarcount=0 \input SCALARSETUP \fi
%                 CONTAINS scalar DEFINITIONS.
\global\advance\scalarcount by 1  % Counts number of scalars drawn.
\ALLscalar
}
%%%%%%%%%%% (3) PHOTONS %%%%%%%%%%%
\gdef\selectphoton{   % RECURSIVELY RE-DEFINED IN PHOTONSETUP(23+).TEX.
% Input photon-setup stuff ONLY IF HAVE NOT DONE SO YET.
% This avoids having to process a photon if none are drawn.
\ifnum\photoncount=0 \input PHOTONSETUP  \fi
\selectphoton
%CONTAINS PHOTON DEFINITIONS.
}
%%%%%%%%%%% (4) GLUONS %%%%%%%%%%%
\gdef\selectgluon{   % RECURSIVELY RE-DEFINED IN GLUONSETUP(25+).TEX.
% Input gluon-setup stuff ONLY IF HAVE NOT DONE SO YET.
% This avoids having to process a gluon if none are drawn.
\ifnum\gluoncount=0 \input GLUONSETUP  \fi
\selectgluon
%                  CONTAINS gluon DEFINITIONS.
}
%%%%%%%%%%% (5) SPECIAL - USER DEFINED %%%%%%%%%%%
\gdef\selectspecial{\UNIMPERROR}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                             %
%                   ROUTINES FOR DRAWING VERTICES                             %
%                                                                             %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Input vertex-setup stuff ONLY IF HAVE NOT DONE SO YET.                      %
% This avoids having to process a vertex if none are drawn.
\gdef\checkvertex{ %immediately re-defines
% \drawvertex,\vertexcap,\linkvertex...
\ifnum\vertexcount=-1   \input VERTEX  \fi}
% RECURSIVE DEFINITIONS:
\gdef\drawvertex#1[#2#3](#4,#5)[#6]{\checkvertex\drawvertex#1[#2#3](#4,#5)[#6]}
\gdef\vertexcap#1{\checkvertex\vertexcap#1}
\gdef\vertexcaps{\checkvertex\vertexcaps}
\gdef\vertexlink#1{\checkvertex\vertexlink#1}
\gdef\vertexlinks{\checkvertex\vertexlinks}
\gdef\stemvertex#1{\checkvertex\stemvertex#1}
\gdef\stemvertices{\checkvertex\stemvertices}
\gdef\flipvertex{\checkvertex\flipvertex}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                             %
%                   ROUTINES FOR DRAWING ARROWS                               %
%                                                                             %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% SYNTAX:  \drawarrow[\NW\ATBASE](\pmidx,\pmidy)  etc.
\global\arrowlength=349  % Length of arrow
\gdef\drawarrow[#1#2](#3,#4){
\global\LDIR=#1
\SETDIR
\global\boxlengthx=#3  % Just a convenient variable name.  No significance.
\global\boxlengthy=#4  % The Arrow co-ordinates.
\ifdim#2=1pt  % CASE \ATBASE WHERE THE CO-ORDS ARE AT THE ARROWS BASE.
   %   #2 IS either \ATTIP or \ATBASE...Depending where it is to be positioned.
\adjx=\arrowlength      \adjy=\arrowlength
\multiply\adjx by \XDIR \multiply\adjy by \YDIR  % Set in \SETDIR
\slanttest(\adjx,\adjy)
\global\advance\boxlengthx by \adjx    \global\advance\boxlengthy by \adjy
\fi
\ifnum\phantomswitch=0\put(\boxlengthx,\boxlengthy){\vector(\XDIR,\YDIR){0}}\fi
}  % END OF \drawarrow.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                             %
%                     ROUTINES FOR DRAWING STEMS                              %
%                                                                             %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\gdef\SETFRONTSTEM{
\EITHERSTEM=\FRONTSTEM   \advance\EITHERSTEM by \BACKSTEM
\ifdim\EITHERSTEM>0pt
\global\stemlengthx=\stemlength   \global\stemlengthy=\stemlength
\global\absstemlength=\stemlength
\SETDIR
\gslanttest(\stemlengthx,\stemlengthy)
\gslanttest(\absstemlength,\REG)  % the \REG is to use up the parameter space.
\ifnum\XDIR=0 \stemlengthx=0 \fi
\ifnum\YDIR=0 \stemlengthy=0 \fi
\global\multiply\stemlengthx by \XDIR
\global\multiply\stemlengthy by \YDIR
\ifdim\FRONTSTEM=1pt
\ifnum\phantomswitch=0
          \put(\pfrontx,\pfronty){\line(\XDIR,\YDIR){\absstemlength}}\fi
\global\advance\plengthx by \stemlengthx
\global\advance\plengthy by \stemlengthy
\global\advance\PFRONTx by \stemlengthx
\global\advance\PFRONTy by \stemlengthy
\global\advance\pmidx by \stemlengthx
\global\advance\pmidy by \stemlengthy
\global\advance\pbackx by \stemlengthx
\global\advance\pbacky by \stemlengthy
% FOR STEMMED PHOTONS AND GLUONS, \photonfront,back(x,y) are for the
% photon proper (no stem) while \pbackx,y include the stems.
\ifnum\LTYPE=3
\global\photonfrontx=\PFRONTx  \global\photonfronty=\PFRONTy
\global\photonbackx=\pbackx    \global\photonbacky=\pbacky
\fi  % END LTYPE
\ifnum\LTYPE=4
\global\gluonfrontx=\PFRONTx  \global\gluonfronty=\PFRONTy
\global\gluonbackx=\pbackx    \global\gluonbacky=\pbacky
\fi  % END LTYPE
\fi  % END FRONTSTEM
\fi  % END EITHERSTEM
}    % end of \SETFRONTSTEM
%
\gdef\SETBACKSTEM{
\ifdim\BACKSTEM=1pt
\ifnum\phantomswitch=0
       \put(\pbackx,\pbacky){\line(\XDIR,\YDIR){\absstemlength}}\fi
\global\advance\plengthx by \stemlengthx
\global\advance\plengthy by \stemlengthy
\global\advance\pbackx by \stemlengthx
\global\advance\pbacky by \stemlengthy
\fi  % END BACKSTEM
\global\stemlength=275  \FRONTSTEM=0pt  \BACKSTEM=0pt % Reset default switches.
}    % END OF \SETBACKSTEM
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                              LOOPS                                        %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\gdef\drawloop#1[#2#3](#4,#5){  %RECURSIVE.
\input LOOPS  % contains loops definitions
\drawloop#1[#2#3](#4,#5)}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Feynmanlength  % Set length scale to centipoints.
%                            GLUONSETUP(31).TEX
% CALLED BY FEYNMAN(34).
% USED FOR GENERATING GLUON LINES IN FEYNMAN DIAGRAMS IN LATEX.
\global\newcount\gluonlength
\global\newcount\gluonlengthx
\global\newcount\gluonlengthy
\global\newcount\gluonfrontx  %}(x,y) co-ord of left of gluon
\global\newcount\gluonfronty  %}
\global\newcount\gluonbackx
\global\newcount\gluonbacky
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\gdef\setunitbox(#1)[#2][#3](#4)[#5]{
\gdef\upperunitbox{\oval(#1,#1)[#2]}
\gdef\lowerunitbox{\oval(401,401)[#3]}
\gdef\thirdunitbox{\oval(#4,#4)[#5]}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\gdef\selectgluon{  % ORIGINALLY DEFINED IN FEYNMAN(29+).  RECURSIVELY
% RE-DEFINE
\global\advance\gluoncount by 1  % Counts number of gluons drawn.
\global\gluonfrontx=\particlefrontx   % READ IN FROM FEYNMAN \selectgluon
\global\gluonfronty=\particlefronty   % READ IN FROM FEYNMAN \selectgluon
\global\particleadjustx=0     \global\particleadjusty=0
% Error messages for overly-long lines.  See FEYNMAN for negative-lengths.
\ifnum\unitboxnumber > 40
\message{   *** WARNING *** Gluon with
\the\unitboxnumber\space loops requested ***   }
\ifnum\unitboxnumber > 85
\message{   *** Reducing gluon length to 6 loops (max 85) ***   }
\ifnum\unitboxnumber > 1000
\message{   *** Probable Cause:  Gluon selected instead of Fermion ***   }
\fi \global\unitboxnumber=6 \fi \fi  % end of length error
\global\unitboxnumberpo=\unitboxnumber  % DEFINED IN \drawsavedline (FEYNMAN).
\global\advance\unitboxnumberpo by 1 %\unitboxnumber if \unitboxnumber is odd.
% DEFAULTS:
\global\numlineparts = 3
\global\numupperunits=\unitboxnumber
\global\numlowerunits=\unitboxnumber
\global\numthirdunits=\unitboxnumber
% select gluon alignment:
\ifcase\LINEDIRECTION
\Ngluon    %\LINEDIRECTION=0 (NORTH) CASE
\or  \NEgluon  % 1 case
\or  \Egluon   % 2 case...horizontal gluon.
\or  \SEgluon
\or  \Sgluon
\or  \SWgluon
\or  \Wgluon
\or  \NWgluon
\else\DIRECTERROR \fi
\setparticle
\global\gluonlengthx=\particlelengthx  \global\gluonlengthy=\particlelengthy
\global\gluonbackx=\particlebackx      \global\gluonbacky=\particlebacky
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\gdef\Ngluon{   % VERTICAL gluons
\ifcase\LINECONFIGURATION   % \REG GLUON CONFIGURATION
\setcoords(600,540,600)(20,620,1220)[0,1050]
\setunitbox(1600)[tl][r](1600)[bl]
\particleadjusty=195
\or % \FLIPPED
\setcoords(-990,-930,-990)(12,615,1215)[0,1050]
\setunitbox(1600)[tr][l](1600)[br]
\particleadjusty=195
\or % \CURLYGLUON
\setcoords(440,390,440)(-10,415,840)[0,850]
\setunitbox(1250)[tl][r](1250)[bl]
\particleadjustx=0
\particleadjusty=-10
\or % \FLIPPED case
\setcoords(-820,-770,-820)(-25,400,825)[0,850]  % Matches change in \S\CURLY
\particleadjusty=-10  % goes with \CURLY \particleadjusty=-10
\setunitbox(1250)[tr][l](1250)[br]
\or \UNIMPERROR  % \LCONFIG=4 is \FLAT case
\or \UNIMPERROR  % \LCONFIG=5 is \FLIPPEDFLAT case
\or % \LCONFIG=6 is \CENTRALGLUON case
\numupperunits=\unitboxnumberpo
\numlowerunits=\unitboxnumber
\numthirdunits=\unitboxnumberpo
\setcoords(-200,-200,-200)(616,1041,616)[0,850]
\setunitbox(1250)[tl][r](1250)[bl]
\particleadjusty=1238
\particleadjusty=1233
\or % \FLIPPEDCENTRAL
\numupperunits=\unitboxnumberpo
\numlowerunits=\unitboxnumber
\numthirdunits=\unitboxnumberpo
\setcoords(-200,-200,-200)(620,1045,620)[0,850]
\setunitbox(1250)[tr][l](1250)[br]
\particleadjusty=1245
\else \UNIMPERROR % etc.
\fi
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\gdef\NEgluon{
\numupperunits=\unitboxnumberpo
\numlowerunits=\unitboxnumber
\numthirdunits=\unitboxnumber
\ifcase\LINECONFIGURATION
\setcoords(900,900,900)(0,900,900)[900,900]
\setunitbox(2200)[tl][tr](401)[b]
\particleadjustx=1100     \particleadjusty=1100
\or % \FLIPPED case
\setcoords(-180,720,720)(1090,1091,1091)[900,900]
\setunitbox(2200)[br][tr](401)[l]
\particleadjustx=1110     \particleadjusty=1050
\else \UNIMPERROR % etc.
\fi
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\gdef\Egluon{     % EASTWARD HORIZONTAL gluons
\ifcase\LINECONFIGURATION
\setcoords(-210,390,990)(-800,-745,-800)[1050,0]  % draws from outer line edge
\setunitbox(1600)[tr][b](1600)[tl]
\particleadjustx=130  % draws from outer line edge
\or % \FLIPPED
\setcoords(-210,390,990)(800,745,800)[1050,0]  % draws from outer line edge
\setunitbox(1600)[br][t](1600)[bl]
\particleadjustx=130
\or % \CURLYGLUON
\setcoords(-200,225,650)(-625,-575,-625)[850,0]
\setunitbox(1250)[tr][b](1250)[tl]
\or % \FLIPPED case
\setcoords(-200,225,650)(625,575,625)[850,0]
\setunitbox(1250)[br][t](1250)[bl]
\or % \LCONFIG=4 is \FLAT case
\setcoords(-200,430,1060)(-830,-780,-830)[1260,0]
\setunitbox(1660)[tr][b](1660)[tl]
\or % \LCONFIG=5 is \FLIPPEDFLAT case
\setcoords(-200,430,1060)(830,780,830)[1260,0]
\setunitbox(1660)[br][t](1660)[bl]
\or % \LCONFIG=6 is \CENTRALGLUON case
\numupperunits=\unitboxnumberpo
\numlowerunits=\unitboxnumber
\numthirdunits=\unitboxnumberpo
\setcoords(440,865,440)(0,50,0)[850,0]
\setunitbox(1250)[tr][b](1250)[tl]
\particleadjustx=1260
\or % \FLIPPEDCENTRALGLUON case
\numupperunits=\unitboxnumberpo
\numlowerunits=\unitboxnumber
\numthirdunits=\unitboxnumberpo
\setcoords(430,855,430)(0,-50,0)[850,0]
\setunitbox(1250)[br][t](1250)[bl]
\particleadjustx=1250
\or % \LCONFIG=8 is \SQUASHEDGLUON case
\setcoords(-160,440,1040)(-600,-550,-600)[1200,0]
\gdef\upperunitbox{\oval(1600,1200)[tr]}
\gdef\thirdunitbox{\oval(1600,1200)[tl]}
\gdef\lowerunitbox{\oval(401,401)[b]}
\else \UNIMPERROR
\fi
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\gdef\SEgluon{
\numupperunits=\unitboxnumberpo
\numlowerunits=\unitboxnumber
\numthirdunits=\unitboxnumber
\ifcase\LINECONFIGURATION
\setcoords(-200,700,700)(-1100,-1100,-1100)[900,-900]
\setunitbox(2200)[tr][br](401)[l]
\particleadjustx=1100     \particleadjusty=-1100
\or % \FLIPPED case
\setcoords(890,890,890)(0,-900,-900)[900,-900]
\setunitbox(2200)[bl][br](401)[t]
\particleadjustx=1050     \particleadjusty=-1100
\else \UNIMPERROR % etc.
\fi
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\gdef\Sgluon{   % VERTICAL gluons
\ifcase\LINECONFIGURATION  % \REG STYLE GLUON
\setcoords(-1000,-940,-1000)(0,-595,-1195)[0,-1050]
\setunitbox(1600)[br][l](1600)[tr]
\particleadjusty=-150
\or % \FLIPPED
\setcoords(605,545,605)(-20,-615,-1215)[0,-1050]
\setunitbox(1600)[bl][r](1600)[tl]
\particleadjusty=-150
\or % \CURLYGLUON
\setcoords(-820,-770,-820)(0,-425,-850)[0,-850]
\setunitbox(1250)[br][l](1250)[tr]
\or % \FLIPPED case
\setcoords(440,390,440)(0,-425,-850)[0,-850]
\setunitbox(1250)[bl][r](1250)[tl]
\or \UNIMPERROR % \LCONFIG=4 is \FLATGLUON case
\or \UNIMPERROR
\or % \LCONFIG=6 is \CENTRALGLUON case
\numupperunits=\unitboxnumberpo
\numlowerunits=\unitboxnumber
\numthirdunits=\unitboxnumberpo
\setcoords(-180,-180,-180)(-635,-1060,-635)[0,-850]
\setunitbox(1250)[br][l](1250)[tr]
\particleadjusty=-1290
\or % \FLIPPEDCENTRAL case
\numupperunits=\unitboxnumberpo
\numlowerunits=\unitboxnumber
\numthirdunits=\unitboxnumberpo
\setcoords(-180,-180,-180)(-635,-1060,-635)[0,-850]
\setunitbox(1250)[bl][r](1250)[tl]
\particleadjusty=-1290
\else \UNIMPERROR % etc.
\fi
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\gdef\SWgluon{
\numupperunits=\unitboxnumberpo
\numlowerunits=\unitboxnumber
\numthirdunits=\unitboxnumber
\ifcase\LINECONFIGURATION
\setcoords(-1300,-1300,-1300)(0,-900,-900)[-900,-900]
\setunitbox(2200)[br][bl](401)[t]
\particleadjustx=-1100     \particleadjusty=-1100
\or % \FLIPPED case
\setcoords(-215,-1115,-1115)(-1107,-1107,-1107)[-900,-900]
\setunitbox(2200)[tl][bl](401)[r]
\particleadjustx=-1120     \particleadjusty=-1120
\else \UNIMPERROR % FLIPPED FLATGLUON etc.
\fi
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\gdef\Wgluon{   % HORIZONTAL gluons
\ifcase\LINECONFIGURATION
\setcoords(-190,-790,-1390)(800,745,800)[-1050,0]
\setunitbox(1600)[bl][t](1600)[br]
\particleadjustx=-150  %302
\or % \UNIMPERROR % \FLIPPED
\setcoords(-190,-790,-1390)(-800,-745,-800)[-1050,0]
\setunitbox(1600)[tl][b](1600)[tr]
\particleadjustx=-150  %302
\or % \CURLYGLUON
\setcoords(-200,-625,-1050)(625,575,625)[-850,0]
\setunitbox(1250)[bl][t](1250)[br]
\or % \FLIPPED case
\setcoords(-200,-625,-1050)(-625,-575,-625)[-850,0]
\setunitbox(1250)[tl][b](1250)[tr]
\or % \LCONFIG=4 is \FLATGLUON case
\setcoords(-230,-860,-1490)(830,780,830)[-1260,0]
\setunitbox(1660)[bl][t](1660)[br]
\or % \UNIMPERROR
\setcoords(-230,-860,-1490)(-830,-780,-830)[-1260,0]
\setunitbox(1660)[tl][b](1660)[tr]
\or % \LCONFIG=6 is \CENTRALGLUON case
\numupperunits=\unitboxnumberpo
\numlowerunits=\unitboxnumber
\numthirdunits=\unitboxnumberpo
\setcoords(-825,-1250,-825)(0,-50,0)[-850,0]
\setunitbox(1250)[bl][t](1250)[br]
\particleadjustx=-1250
\or  % \FLIPPEDCENTRALGLUON
\numupperunits=\unitboxnumberpo
\numlowerunits=\unitboxnumber
\numthirdunits=\unitboxnumberpo
\setcoords(-825,-1250,-825)(0,50,0)[-850,0]
\setunitbox(1250)[tl][b](1250)[tr]
\particleadjustx=-1250
\else \UNIMPERROR % FLIPPED FLATGLUON etc.
\fi
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\gdef\NWgluon{
\numupperunits=\unitboxnumberpo
\numlowerunits=\unitboxnumber
\numthirdunits=\unitboxnumber
\ifcase\LINECONFIGURATION
\setcoords(-200,-1100,-1100)(1100,1100,1100)[-900,900]
\setunitbox(2200)[bl][tl](401)[r]
\particleadjustx=-1110   \particleadjusty=1100
\or  % \FLIPPED
\setcoords(-1309,-1309,-1309)(-15,885,885)[-900,900]
\setunitbox(2200)[tr][tl](401)[b]
\particleadjustx=-1120   \particleadjusty=1065
\else \UNIMPERROR % FLIPPED FLATGLUON etc.
\fi
}
%
%                         *** GLUON LINKS AND CAPS ***
%
%
\gdef\gluonlink{    %  A `RECURSIVE' DEFINITION.
\input GLUONLINKS   % \gluonlink is redefined here.
\gluonlink}  %  THIS RE-DEFINES \gluonlink FOR ALL FUTURE USES.
%
%
\gdef\gluoncap{    %  A `RECURSIVE' DEFINITION.
\input GLUONLINKS   % \gluoncap is redefined here.
\gluoncap}  %  THIS RE-DEFINES \gluoncap FOR ALL FUTURE USES.
\documentclass{article}
\begin{document}
\input FEYNMAN



\begin{center}
{\LARGE Boundary $\sigma$-model and corrections to D-brane actions}\\

\bigskip

{{\large \textsc Alexander Barabanschikov }}

\bigskip

{\it Department of Physics, Northeastern University}

{\it Boston, MA 02115, USA}

\smallskip

{email: abaraban@lynx.neu.edu}

\end{center}

\bigskip

\begin{center}
{\bf Abstract.}
\end{center}

We consider a $\sigma$-model formulation of open string theory in
the presence of D-branes. We perform two-loop computations and
discuss gravitational corrections to Born-Infeld action when
branes are non-trivially embedded in a curved ambient space. In
particular for the case of a stack of $N$ coincident D-branes we
analyze couplings of the form
$R_{ijkl}\lbrack\Phi^i\Phi^j\rbrack\lbrack\Phi^k\Phi^l\rbrack$.
\newpage
\setcounter{equation}{0}
\section{Introduction}

To understand the dynamics of D-branes it is very important to
study the low energy effective action. For bosonic strings to the
leading order in \( \alpha^\prime \) it is given by the
Dirac-Born-Infeld (DBI) action \cite{FT,Leigh}. For superstrings
there is additional Wess-Zumino term describing the coupling of a
brane to Ramond-Ramond fields \cite{RR}\footnote{For a review see
\cite{PB}}. In this paper we discuss certain higher order
corrections to DBI action depending on the embedding of branes in
a curved ambient space.

Suppose we have a Dp-brane non-trivially embedded in a target
space. In Einstein frame the effective action for a single D-brane
is given by

\begin{equation}
S_{DBI}=-\tau_p\int
d\sigma^{p+1}e^{\Phi(-1-\gamma(p+1)/2)}\sqrt{-det(\tilde
G_{\alpha\beta}+e^{\gamma\Phi}(\tilde
B_{\alpha\beta}+2\pi\alpha^\prime F_{\alpha\beta}))} \label{DBI}
\end{equation}

\noindent Here $\gamma=-\frac{4}{D-2}$. We are using Greek letters
($\mu,\nu,$...) for space-time coordinates, ($\alpha,\beta,$...)
for coordinates on the brane and Latin letters (i,j,...) for
coordinates transverse to the brane. Thus in the case of a p-brane
embedded in a D-dimensional target space:$\mu=0,$...,D-1,
$\alpha$=0,...,p and i=p+1,...,D-1. $\lbrace\sigma^\alpha\rbrace$
is a set of coordinates on the brane and embedding in target space
is given by $X^\mu(\sigma^\alpha)$. Most computations are done in
static gauge: $X^\alpha=\sigma^\alpha$, $X^i=X^i(\sigma^\alpha)$.
Massless closed string fields $G_{\mu\nu},B_{\mu\nu}$ and $\Phi$
are functions of $X^\mu$ and massless open string field $A^\alpha$
is a function of $\sigma^\alpha$. The action (\ref{DBI}) describes
the coupling of a brane to NS-NS background bulk fields \(
G_{\mu\nu} \) , \( B_{\mu\nu} \) and \( \Phi \). Tilde $\tilde{ }$
denotes the induced quantities: \( \tilde
G_{\alpha\beta}=G_{\mu\nu}\frac{\partial X^\mu}{\partial
\sigma^\alpha}\frac{\partial X^\nu}{\partial\sigma^\beta} \), \(
\tilde {B}_{\alpha\beta}=B_{\mu\nu}\frac{\partial
X^\mu}{\partial\sigma^\alpha}\frac{\partial
X^\nu}{\partial\sigma^\beta} \). The action for the bulk massless
fields is also well known. For example in bosonic case it is given
to the leading order (in Einstein frame) by

\begin{equation}
S_{bulk}=\frac{1}{2k^2}\int d^D
x\sqrt{-G}(R-\frac{1}{12}e^{2\gamma\Phi}H_{\mu\nu\rho}H^{\mu\nu\rho}+
\gamma\partial_\mu\Phi
\partial^\mu\Phi)
\label{bulk0}
\end{equation}

\noindent Where $H_{\mu\nu\rho}=3\partial_{[\mu}B_{\nu\rho]}$.
 Subleading terms can be found in
\cite{MT}.

There are different ways to determine brane and bulk actions. One
of them is to compute string tree amplitudes for massless fields,
expand them in powers of \(\alpha^\prime\) and look for terms in
the effective action to reproduce them. In this way the
\({\alpha^\prime}^2\) curvature corrections to the brane action in
superstring case \cite{BBG} and \(\alpha^{\prime}\) curvature
corrections to the brane action for bosonic string \cite{CLR} were
found. Another way is to compute renormalization group beta
function for the field theory of strings on the world-sheet.
Consistency condition of (super)conformal invariance impose that
these beta-functions should vanish. Treating massless string
fields as background we get equations of motion from which we can
derive the effective action. It is believed that the the two
approaches are perturbatively equivalent (see for example
\cite{CFMP},\cite{MT}). In this paper we perform another check of
the correspondence and also compute certain $\alpha^\prime$
corrections to D-brane action evaluating the two-loop
beta-function in the sigma model.

In section 2 we present the \(\sigma\)-model relevant to the case
of a single D-brane. Using the background field method we compute
one-loop beta function for the scalar fields $\Phi_i$ describing
transverse fluctuations of the brane in a curved ambient space. In
section 3 we reproduce some of the results of \cite{CLR} in the
\(\sigma\)-model language. In particular we determine the
coefficients of the possible $O(\alpha^\prime)$ curvature terms in
the effective action and discuss field redefinitions.

The case of a stack of N coincident D-branes is somewhat more
complicated. Now we expect the effective action of the brane to be
generalized to a non-abelian theory with gauge group U(N). In this
case fields get promoted to U(N) matrices. One of the open
problems is how to expand the square root of the determinant since
the ordering of the non-commutative fields is not clear. We are
not addressing this problem here. In section 4 we describe sigma
model with boundary fermions and compute one-loop beta function
for the non-abelian field $A_\alpha$ in curved background. Setting
beta-function to zero gives equations of motion consistent with
DBI action. It is interesting to study the higher order
corrections to DBI action. In non-abelian case in curved
background there is a new class of terms that could appear. In
section 5 we compute corrections of the form $R_{ijkl}\lbrack
\Phi^i\Phi^j\rbrack\lbrack\Phi^k\Phi^l\rbrack$ to the effective
action in bosonic and superstring case. We discuss the results in
section 6.

\section{\(\sigma\)-model actions}

The  \(\sigma\)-model action for a single Dp-brane in bosonic
string theory contains 2 terms-bulk and boundary:

\begin{equation}
S_{\Sigma}=\frac{1}{4\pi\alpha^\prime}\int_\Sigma d^2\sigma\sqrt g
[g^{ab}G_{\mu\nu}(X)\partial_a X^\mu\partial_b X^\nu+
i\epsilon^{ab}B_{\mu\nu}(X)\partial_a X^\mu\partial_bX^\nu+
\alpha^\prime R\Phi(X)]
\end{equation}

\begin{equation}
S_{\partial\Sigma}=\int d\theta[-i\partial_\theta\sigma^\alpha
A_\alpha+\frac{1}{2\pi\alpha^\prime}\partial_{r}X^\mu\Phi_\mu]
\end{equation}

\noindent Here fields \(G_{\mu\nu}\),\(B_{\mu\nu}\) and \(\Phi\)
are functions of \(X^\mu\) and \(A_\alpha\) and \(\Phi_\mu\) are
functions of $\sigma^\alpha$. Consider for the time being only
terms involving \(G_{\mu\nu}\) and \(\Phi_i\). They can also be
rewritten as

\begin{equation}
S=\frac{1}{2\pi\alpha^\prime}\int_\Sigma d^{2}z G_{\mu\nu}\partial
X^\mu\bar\partial
X^\nu+\frac{1}{2\pi\alpha^\prime}\int_{\partial\Sigma}d\theta\partial_r
X^i\Phi_i \label{sigmaGF}
\end{equation}

\noindent The last term was obtained using T-duality from
\(\sigma\)-model of the open string theory without D-branes. We
are going to use background field method expanding this action
near a bare classical solution \(X^\mu=\tilde X^\mu+\pi^\mu\). It
is easier to use expansion in normal coordinates $\xi^\mu$ in
space-time and $\zeta^\alpha$ on the brane following
\cite{AFM},\cite{Leigh}. For our purposes it is sufficient to
expand to the fourth order in \(\xi\) and $\zeta$:

\newpage
\begin{eqnarray}
S_{\Sigma}[X]&=&\frac{1}{2\pi\alpha^\prime}\int
  d^2 z\bigl\lbrace
  G_{\mu\nu}\partial\tilde X^\mu\bar\partial\tilde X^\nu+
  G_{\mu\nu}(\partial\tilde X^\mu\bar\nabla\xi^\nu+\bar\partial
  \tilde X^\mu\nabla\xi^\nu)
  \nonumber \\
  &&
+R_{\mu\nu\rho\sigma}\partial\tilde X^{\mu}\bar\partial\tilde
  X^\sigma\xi^\nu\xi^\rho+
  G_{\mu\nu}\nabla\xi^\mu\bar\nabla\xi^\nu+
  \frac{1}{3}D_\mu
  R_{\nu\rho\sigma\tau}\partial\tilde X^\nu\bar\partial\tilde
  X^\tau\xi^\mu\xi^\rho\xi^\sigma
  \nonumber \\
  &&
+\frac{2}{3}R_{\mu\nu\rho\sigma}(\partial\tilde
  X^\mu\bar\nabla\xi^\sigma+\bar\partial\tilde
  X^\mu\nabla\xi^\sigma)\xi^\nu\xi^\rho+
  \frac{1}{3}R_{\mu\nu\rho\sigma}\nabla\xi^\mu\bar\nabla\xi^
  \sigma\xi^\nu\xi^\rho
  \nonumber\\
  &&
+\frac{1}{12}(D_\mu D_\nu R_{\rho\sigma\tau\omega}+
  4R^{\mu^\prime}_{\mu\nu\rho}R_{\mu^\prime\sigma\tau\omega})
  \partial\tilde X^\rho\bar\partial\tilde
  X^\omega\xi^\mu\xi^\nu\xi^\sigma\xi^\tau
  \nonumber\\
  &&
+\frac{1}{4}D_\mu
  R_{\nu\rho\sigma\tau}(\partial\tilde
  X^\nu\bar\nabla\xi^\tau+\bar\partial\tilde
  X^\nu\nabla\xi^\tau)\xi^\mu\xi^\rho\xi^\sigma\bigr\rbrace+
  \dots
\label{sbulk}
\end{eqnarray}
\begin{eqnarray}
S_{\partial\Sigma}[X]&=&\frac{1}{2\pi\alpha^\prime}\int
d\theta\bigl\lbrack\partial_r\tilde
  X^i+\nabla_r\xi^i+\partial_r\tilde X^\lambda(\frac{1}{3}R^i_{\mu\nu\lambda}
  \xi^\mu\xi^\nu+\frac{1}{12}D_\mu R^i_{\nu\rho\lambda}\xi^\mu\xi^\nu\xi^\rho
  \nonumber \\
  &&
  +(\frac{1}{60}D_\mu D_\nu
  R^i_{\rho\sigma\lambda}-\frac{1}{45}R^i_{\mu\nu\tau}R^\tau_{\rho\sigma\lambda})
  \xi^\mu\xi^\nu\xi^\rho\xi^\sigma\bigr\rbrack
  \bigl\lbrack\Phi_i+\tilde D_\alpha\Phi_i\zeta^\alpha
  \nonumber \\
  &&
  +\frac{1}{2}
  \tilde D_\alpha\tilde D_\beta\Phi^j\zeta^\alpha\zeta^\beta
  +\frac{1}{6}\tilde D_\alpha\tilde D_\beta\tilde D_\gamma\Phi^j
  \zeta^\alpha\zeta^\beta\zeta^\gamma
  \nonumber \\
  &&
  +\frac{1}{24}\tilde D_\alpha\tilde D_\beta
  \tilde D_\gamma\tilde D_\delta\Phi^j\zeta^\alpha\zeta^\beta\zeta^\gamma\zeta^\delta
  \bigr\rbrack+\dots
  \label{sbound}
\end{eqnarray}


\noindent Here \(D_\mu\) is the usual covariant derivative with
Levi-Civita connection, $\tilde D_\alpha$ is the covariant derivative on the
brane constructed using the induced metric and \\ \\
\(\nabla\xi^\mu=\partial\xi^\mu+\Gamma^\mu_{\nu\rho}\xi^\nu\partial\tilde
X^\rho \),
\(\bar\nabla\xi^\mu=\bar\partial\xi^\mu+\Gamma^\mu_{\nu\rho}\xi^\nu\bar\partial\tilde
X^\rho \) and
\(\nabla_r\xi^\mu=\partial_r\xi^\mu+\Gamma^\mu_{\nu\rho}\xi^\nu\partial_r\tilde
X^\rho \)\\

Using equations of motion we obtain additional boundary term:

\begin{equation}
\frac{1}{2\pi\alpha^\prime}\int d^2 z G_{\mu\nu}(\partial
X^\mu\bar\nabla\xi^\nu+ \bar\partial
X^\mu\nabla\xi^\nu)=\frac{1}{2\pi\alpha^\prime}\int
d\theta\partial_r X^\mu G_{\mu\nu}\xi^\nu
\end{equation}

In the bulk action kinetic term is multiplied by
$G_{\mu\nu}(\tilde X)$. One way of bringing it to the standard
form is introducing vielbein field $V^A_\mu$, $G_{\mu\nu}=V^A_\mu
V^B_\nu\eta_{AB}$ and switching to the tangent space quantities.
Here we choose another approach. We expand the metric as
$G_{\mu\nu}=\eta_{\mu\nu}+2kH_{\mu\nu}$ and expand sigma-model and
effective actions in powers of $H$.

The "Neumann" and "Dirichlet" propagators on the disc are given
correspondingly by:

\begin{equation}
N^{\alpha\beta}(z,z^\prime)=<\xi^\alpha(z)\xi^\beta(z^\prime)>=
\frac{\alpha^\prime}{2}\eta^{\alpha\beta}\bigl\lbrace-\ln\vert
z-z^\prime\vert^2-\ln\vert 1-\bar zz^\prime\vert^2\bigr\rbrace
\end{equation}

\begin{equation}
D^{i j}(z,z^\prime)=<\xi^i(z)\xi^j(z^\prime)>=
\frac{\alpha^\prime}{2}\delta^{i j}\bigl\lbrace-\ln\vert
z-z^\prime\vert^2+\ln\vert 1-\bar zz^\prime\vert^2\bigr\rbrace
\end{equation}

The superstring sigma model contains additional pieces with
fermions. The supersymmetric extension of part of the bulk action
containing $ G_{\mu\nu} $ field is given by

\begin{eqnarray}
S_\Sigma =\frac{1}{2\pi\alpha^\prime}\int_\Sigma d^2z \bigl\lbrace
G_{\mu\nu}(\partial {\tilde X}^\mu\bar\partial {\tilde
X}^\nu+\frac{\alpha^\prime}{2}\Psi^\mu\bar\nabla\Psi^\nu+
\frac{\alpha^\prime}{2}{\bar\Psi}^\mu\nabla{\bar\Psi}^\nu)+\nonumber\\
\frac{{\alpha^\prime}^2}{2}R_{\mu\nu\rho\sigma}\Psi^\mu\Psi^\nu{\bar\Psi}^
\rho{\bar\Psi}^\sigma\bigr\rbrace
\end{eqnarray}

The boundary action is obtained by T-duality from the
supersymmetric version of Wilson loop. The pieces containing
$\Phi_i$ fields are given by

\begin{equation}
S_{\partial\Sigma}=\frac{1}{2\pi\alpha^\prime}\int_{\partial\Sigma}
d\theta\bigl\lbrack\partial_r {\tilde X}^i\Phi_i+
\alpha^\prime(\psi^\alpha{\bar\psi}^i-\psi^i{\bar\psi}^\alpha)
\partial_\alpha\Phi_i\bigr\rbrack
\end{equation}

\noindent Here $\psi^\mu=\Psi^\mu|_{\partial\Sigma}$ We will not
be interested in the supersymmetric extension of the term with
$B_{\mu\nu}$ field.

Expansion of the additional fermionic terms in normal coordinats
sufficient for two-loop computation is:

\begin{eqnarray}
\frac{1}{4\pi}\int_\Sigma dz^2\bigl\lbrace
G_{\mu\nu}(\Psi^\mu\bar\nabla\Psi^\nu+{\bar\Psi}^\mu\nabla{\bar\Psi}^\nu)+
R_{\mu\nu\rho\sigma}(
\frac{1}{3}\xi^\nu\xi^\rho(\Psi^\mu\bar\nabla\Psi^\sigma+
{\bar\Psi}^\mu\nabla{\bar\Psi}^\sigma)+\nonumber\\
\alpha^\prime\Psi^\mu\Psi^\nu{\bar\Psi}^\rho{\bar\Psi}^\sigma-
\frac{1}{2}\bar\partial{\tilde X}^\mu\xi^\nu\Psi^\rho\Psi^\sigma-
\frac{1}{2}\partial{\tilde
X}^\mu\xi^\nu{\bar\Psi}^\rho{\bar\Psi}^\sigma)\bigr\rbrace
\end{eqnarray}

\noindent and

\begin{eqnarray}
\frac{1}{2\pi\alpha^\prime}\int_{\partial\Sigma}d\theta\bigl\lbrack
\alpha^\prime(\psi^\alpha{\bar\psi}^i-\psi^i{\bar\psi}^\alpha)(\partial_\alpha\Phi_i+
\tilde D_\beta\partial_\alpha\Phi_i\zeta^\beta+\frac{1}{6}(3\tilde
D_\beta\tilde D_\gamma
\partial_\alpha\Phi_i+
\nonumber\\
\tilde
R^\delta_{\beta\gamma\alpha}\partial_\delta\Phi_i)\zeta^\beta\zeta^\gamma)
\end{eqnarray}

The fermionic propagators are

\begin{equation}
<\Psi^\mu(z)\Psi^\nu(w)>=\frac{\eta^{\mu\nu}}{z-w},
<\Psi^\mu(z){\bar\Psi}^\nu(w)>=\frac{i\eta^{\mu\nu}}{1-z\bar w}
\end{equation}

Our strategy will be to compute renormalization group
beta-function corresponding to the coupling
\(\frac{1}{2\pi\alpha^\prime}\int d\theta\partial_r X^i\Phi_i\).
Following \cite{DO} we define beta-function for the field $\Phi_i$
to be:

\begin{equation}
\beta^\phi_i(\Phi^{bare})=-\frac{d}{d\ln\Lambda}\Phi^{bare}_i(\Phi)
\end{equation}

\noindent Here

\begin{equation}
\Phi^{bare}_i(\Phi)=\Phi_i+\sum_n K^{(n)}_i(\Phi)(\ln\Lambda)^n
\end{equation}

\noindent Solving for $\Phi_i$ one can obtain
$\beta^\phi_i(\Phi^{bare})$ in terms of $\Phi^{bare}_i$. Now
explicit dependence on the $\ln\Lambda$ must cancel which is a
good test of calculations. Setting the beta-function to zero will
give us equations on \(G_{\mu\nu}\) and \(\Phi_i\).

Let us compute one-loop beta-function to the first order in
$H_{\mu\nu}$ and $\Phi_i$ in bosonic case. For simplicity consider
the case when $H_{\alpha i}=0$, $H_{\mu\nu}$ depends only on
$\sigma^\alpha$ and $X^i=const$. The general procedure is to leave
normal coordinates $\partial_r\xi^i$ and $\xi^\alpha$ in the
boundary action unchanged and express normal coordinates $\xi^i$
(without derivative $\partial_r$) and $\zeta^\alpha$ in the
boundary action in terms of $\xi^\alpha$. Under the above
conditions this means: $\xi^i\vert_{\partial\Sigma}=0$ (but not
$\partial_r\xi^i$) and
$\xi^\alpha\vert_{\partial\Sigma}=\zeta^\alpha$. We have to
evaluate the following set of
diagrams:\\

\begin{picture}(7000,7000)
\THICKLINES \drawline\fermion[\E\REG](1000,3000)[5000]

\put(3000,\pmidy){\circle*{500}}

\put(1000,3500){$\partial\partial\Phi$}

\put(800,6000){$\partial_r{\tilde X}^i$}

\drawloop\gluon[\SE 8](\pmidx,\pmidy)

\drawline\gluon[\N\REG](\pmidx,\pmidy)[3]
\end{picture}
\begin{picture}(7000,7000)
\THICKLINES \drawline\fermion[\E\REG](1000,3000)[5000]

\put(3000,\pmidy){\circle*{500}}

\put(1000,3500){$\partial\partial\Phi$}

\put(800,6000){$\partial_r{\tilde X}^i$}

\drawloop\gluon[\SE 8](\pmidx,\pmidy)

\put(3000,\loopbacky){\circle*{500}}

\put(3000,-3000){$H$}

\drawline\gluon[\N\REG](\pmidx,\pmidy)[3]
\end{picture}
\begin{picture}(7000,7000)
\THICKLINES \drawline\fermion[\E\REG](1000,-2000)[5000]

\put(4000,\pmidy){\circle*{500}}

\put(4000,-3500){$\partial\Phi$}

\drawloop\gluon[\NW 8](\pmidx,\pmidy)

\frontstemmed\drawline\gluon[\N\REG](3500,\loopbacky)[3]

\put(3500,\loopbacky){\circle*{500}}

\put(0,0){\line(1,1){1000}}

\put(1700,3000){$\partial H$}

\put(1500,6000){$\partial{\tilde X}^i$}
\end{picture}
\begin{picture}(7000,7000)
\THICKLINES \drawline\fermion[\E\REG](1000,-2000)[5000]

\put(4000,\pmidy){\circle*{500}}

\put(4000,-3500){$\partial\Phi$}

\drawloop\gluon[\NW 8](\pmidx,\pmidy)

\frontstemmed\drawline\gluon[\N\REG](3500,\loopbacky)[3]

\put(3500,\loopbacky){\circle*{500}}

\put(0,0){\line(1,1){1000}}

\put(1700,3000){$\partial H$}

\put(1500,6000){$\bar\partial{\tilde X}^i$}
\end{picture}

\vskip 0.5 in

\begin{tabbing}
Figure 1. \= \textit{One-loop corrections to the boundary vertex.
Here horizontal lines}\\
\> \textit{represent the boundary and wiggly lines correspond to
bosonic string}\\
\>\textit{coordinates.  }
\end{tabbing}

\noindent The last two diagrams with bulk vertices combine to
produce contribution proportional to $\partial_r{\tilde X}^i$.
Their computation involves integration over \(d^2 z\) and no
integration over \(\theta\). Bulk integration can be done as
follows \cite{KT}:

\begin{equation}
\int d^2 z=\int rdr\int d\theta=\int rdr\oint\frac{dw}{iw}
\end{equation}

\noindent where \(w=e^{i\theta}\). First one needs to perform
contour integration and then integration over \( r\) introducing a
cutoff \(\Lambda\) (so that
$N^{\alpha\beta}(u,u)=-\alpha^\prime\eta^{\alpha\beta}\ln\Lambda^2$
for the point $u$ on the boundary of the disc). As a result we
get:
\begin{equation}
{\beta^\Phi}_i=\alpha^\prime\partial^2\Phi_i+2k\alpha^\prime\bigl(-H_{\alpha\beta}
\partial^\alpha\partial^\beta\Phi_i-\partial^\alpha H_{\alpha\beta}
\partial^\beta\Phi_i+\frac{1}{2}\partial^\alpha
H_{\;\beta}^\beta\partial_\alpha\Phi_i+\partial^\alpha
H_{ij}\partial_\alpha\Phi_j\bigr)
\end{equation}

\noindent It is easy to see that at this order beta-function is
proportional to the equations of motion coming from:

\begin{equation}
S_{eff}=-\tau_p\int d^{p+1}\sigma\sqrt{-\tilde G}
\end{equation}

\noindent where for induced metric on the D-brane we have

\begin{equation}
\tilde G_{\alpha\beta}(\sigma^\alpha,X^i+\tilde\Phi^i)=\eta_{\alpha\beta}+2kH_{\alpha\beta}+
  \partial_\alpha\tilde\Phi^i\partial_\beta\tilde\Phi^i+
  2kH_{i j}\partial_\alpha\tilde\Phi^i\partial_\beta\tilde\Phi^j
\end{equation}

\noindent if we identify $\Phi_i\equiv\tilde\Phi^i$. More
precisely we get:

\begin{equation}
\delta S_{eff}=\frac{\tau_p}{\alpha^\prime}\int
d^{p+1}\sigma\sqrt{-\tilde G}(\beta^\Phi(\tilde\Phi))^i G_{i
j}\delta\tilde\Phi^j
\end{equation}

Computations in more general cases are also straightforward. For
example if we relax condition $H_{i\alpha}=0$ and allow
$H_{\mu\nu}$ depend on $X^i$ then boundary term without $\Phi_i$
will also contribute to the beta-function and we have \\

$\xi^i\vert_{\partial\Sigma}=\frac{1}{2}\Gamma^i_{\alpha\beta}
\xi^\alpha\xi^\beta+\frac{1}{6}\Gamma^i_{\alpha\beta\gamma}
\xi^\alpha\xi^\beta\xi^\gamma+\frac{1}{24}\Gamma^i_{\alpha\beta\gamma\delta}
\xi^\alpha\xi^\beta\xi^\gamma\xi^\delta+O(\xi^5)$ \\

\noindent Computations to higher orders in $H_{\mu\nu}$ and for
$X^i(\sigma^\alpha)\neq const$ become more tedious.


\section{Curvature corrections to the action of a single D-brane}

In \cite{CLR} the authors were able to determine first order
curvature corrections to Born-Infeld action in the case of bosonic
string analyzing tree level amplitudes corresponding to scattering
of massless closed string fields off the brane. At order
\(O({({\alpha}^\prime)}^0)\) they showed agreement between string
and field theory amplitudes using the expansion of bulk and brane
actions (\ref{bulk0}) and (\ref{DBI}).
Massless closed and open string fields are redefined as:\\ \\
\(G_{\mu\nu}=\eta_{\mu\nu}+2kH_{\mu\nu}\),
\(\Phi=k\sqrt{\frac{D-2}{4}}\phi\), \(B_{\mu\nu}=-2kb_{\mu\nu}\),\\ \\
\(\tilde\Phi^i=\frac{1}{\sqrt{\tau_p}}\lambda^i\) and
\(A_\alpha=\frac{1}{2\pi\alpha^\prime\sqrt{\tau_p}}a_\alpha\)\\

\noindent Comparison of the amplitudes on string and field theory
side fixes the normalization constant of string amplitudes in
terms of \(\tau_p\) and  \(k\). At order \(O(\alpha^\prime)\)
there are five possible terms that can contribute to graviton
scattering:


\begin{eqnarray}
S^{(1)}_{brane}=-\frac{1}{2{k_p}^2}\int d^{p+1}\sigma\sqrt{-\tilde
G}\bigl\lbrace\beta_0\tilde
R+\beta_1K^i_{\alpha\beta}K^{\alpha\beta}_i+\beta_2K^{i\alpha}_\alpha
K^\beta_{i\beta}+\nonumber
\\
\beta_3R_{\mu\nu}\bot^{\mu\nu}+\beta_4R_{\mu\nu\rho\sigma}
\bot^{\mu\rho}\bot^{\nu\sigma}\bigr\rbrace
\label{5terms}
\end{eqnarray}

\noindent For the geometry of submanifold we closely follow
\cite{CLR}. Denote $n^\mu_i$ some orthonormal basis of normal
vectors to the submanifold $\Sigma$ representing the embedded
p-brane. One can define the projection operator

\begin{equation}
\bot^{\mu\nu}=\sum\limits_{i=p+1}^{D-1}n^\mu_i
n^\nu_i=G^{\mu\nu}-\tilde G^{\mu\nu}
\end{equation}

\noindent Where,

\begin{equation}
\tilde G^{\mu\nu}=\frac{\partial
X^\mu}{\partial\sigma^\alpha}\frac{\partial
X^\nu}{\partial\sigma^\beta}\tilde G^{\alpha\beta}
\end{equation}

We need to know the expressions for the 5 terms in the action
(\ref{5terms}). $R_{\mu\nu\rho\sigma}$, $R_{\mu\nu}$ are the usual
Riemann and Ricci tensors. $\tilde R$ is the scalar curvature
computed using the induced metric. $K^i_{\alpha\beta}$ is the
second fundamental form defined by

\begin{equation}
K^i_{\alpha\beta}=\bigl(\frac{\partial^2
X^\mu}{\partial\sigma^\alpha\partial\sigma^\beta}+\frac{\partial
X^\nu}{\partial\sigma^\alpha}\frac{\partial
X^\rho}{\partial\sigma^\beta}\Gamma^\mu_{\nu\rho}\bigr)n^i_\mu
\end{equation}
One also needs bulk action to the \(O(\alpha^\prime)\) order. In
\cite{CLR} \(S^{(1)}_{R^2 bulk} \) was chosen in the Gauss-Bonnet
form:

\begin{equation}
S^{(1)}_{R^2 bulk}=\frac{1}{2k^2}\int d^D
x\frac{\alpha^\prime}{4}e^{\gamma\Phi}
\bigl(R^{\mu\nu\rho\sigma}R_{\mu\nu\rho\sigma}-4R^{\mu\nu}R_{\mu\nu}+R^2\bigr)
\label{bulk1}
\end{equation}

\noindent Note that each of the above actions (\ref{5terms}) and
(\ref{bulk1}) is affected by field redefinitions \cite{CLR}. As a
result, the coefficients
\(\beta_0\),\(\beta_1\),\(\beta_2\),\(\beta_3\) and \(\beta_4\)
are dependent on two parameters. Comparison of the amplitudes
determines the coefficients:\\ \\
\(\beta_0=1+\alpha\), \(\beta_1=-1+\alpha\), \(\beta_2=1-\alpha\),
\(\beta_3=\beta\), \(\beta_4=-\alpha\) and \(\frac{1}{2k_p}=\tau_p\)\\ \\
The choice of \(S^{(1)}_{R^2 bulk}\) in the Gauss-Bonnet form
implies that free parameters $\alpha$ and $\beta$ are actually
fixed: \(\alpha=\beta=0\)

Let us see how this result can be re-derived from the
\(\sigma\)-model prospective. Since this is a two-loop
computation, we also need to take into account one-loop
beta-function for \(G\)-field as well as one-loop equations of
motion. At one loop:

\begin{equation}
{\beta^G}^{(1)}_{\mu\nu}=-\alpha^\prime
R_{\mu\nu}+O(\alpha^\prime)
\end{equation}

To simplify the computation we may assume that \(H_{\mu\nu}\)
depends only on \(\sigma^\alpha\) and  \(H_{i\alpha}=0\). As in
the previous section expand all five terms from (\ref{5terms}) and
\(\sigma\)-model actions (\ref{sbulk}) and (\ref{sbound}) to the
linear order in \(H_{\mu\nu}\) and quadratic order in
\(\tilde\Phi^i\). It turns out that only one two-loop diagram
gives contribution
proportional to $\ln\Lambda$ :\\ \\
\begin{picture}(7000,7000)
\drawline\fermion[\E\REG](1000,-2000)[5000]

\THICKLINES

\drawloop\gluon[\NW 8](\pmidx,\pmidy)

\drawline\gluon[\N\REG](3500,\pmidy)[8]

\put(3800,-2000){\circle*{500}}

\put(3000,-3300){$\partial\partial\Phi$}

\put(3800,3000){\circle*{500}}

\put(1300,3000){$\partial\partial H$}

\put(1300,6000){$\partial{\tilde X}^i$}
\end{picture}
\vskip 0.5 in \noindent Figure 2. \textit{Two-loop diagram with
non-zero $\ln\Lambda$ contribution.}\\

\noindent It has the following structure:
$\partial^\alpha\partial^\beta
H_{ij}\partial_\alpha\partial_\beta\tilde\Phi^j$. This means that
no other contractions between derivatives of $H_{\mu\nu}$ and
derivatives of $\tilde\Phi^i$ modulo $R_{\mu\nu}$ could appear as
a result of variation of (\ref{5terms}). Performing the variation
of (\ref{5terms}) with respect to $\tilde\Phi^i$ explicitly gives
an over-determined system of equations on the coefficients
$\beta_0$, $\beta_1$, $\beta_2$, $\beta_3$ and $\beta_4$ which
reduces to:$\beta_1=-\beta_2=0$, $\beta_0=-2\beta_4$ and $\beta_3$
is undetermined. Computing the diagram on Figure 2 fixes the
normalization. All together we find: \(\beta_0=2\),
\(\beta_1=\beta_2=0\), \(\beta_3\)-undetermined, \(\beta_4=-1\)
and $\frac{1}{2k_p}=\tau_p$. This corresponds to the choice of
\(\alpha=1\) and is in agreement with the result in \cite{CLR}. As
was pointed out in \cite{MT} field redefinitions on the effective
action side correspond to the different choices of the
renormalization schemes for \(\sigma\)-model computations. Thus in
our scheme we would not get the \(O(\alpha^\prime)\) corrections
to the bulk action in the Gauss-Bonnet form. A non-trivial check
of the above computation is the cancellation of all $\ln\Lambda$
terms in the beta-function.

What happens in the case of the superstring? It is easy to check
that diagrams containing fermion lines don't contribute at one
loop. Thus $O((\alpha^\prime)^0)$ part of the brane action is not
affected. At two loops only one diagram (Figure 3) gives
contribution proportional to $\ln\Lambda$. In fact it precisely
cancels the contribution of the corresponding bosonic diagram
(Figure 2). Thus all coefficients $\beta_0$, $\beta_1$, $\beta_2$
and $\beta_4$ are zero. This means that there are no corrections
to the BI action linear in curvature in the superstring case.

\begin{picture}(7000,7000)
\drawline\fermion[\E\REG](1000,-2000)[5000]

\THICKLINES

\put(3500,){\circle{4000}}

\drawline\gluon[\N\REG](3200,\pmidy)[7]

\put(3200,-2000){\circle*{500}}

\put(2400,-3300){$\partial\partial\Phi$}

\put(3200,2000){\circle*{500}}

\put(800,2200){$\partial\partial H$}

\put(1000,5000){$\partial{\tilde X}^i$}

\end{picture}
\vskip 0.5 in \noindent Figure 3. \textit{Two-loop diagram with
fermions with non-zero $\ln\Lambda$ contribution.}

\section{\(\sigma\)-model analysis of a system of coincident D-branes }

\(\sigma\)-model analysis of a stack of coincident Dp-branes is
more complicated. Instead of using  \(S_{\partial\Sigma}\)
(\ref{sbound}) we should rather be using a gauge invariant Wilson
loop

\begin{equation}
\tilde S_{\partial\Sigma}=-\log trP\exp\bigl\lbrace
\oint_{\partial\Sigma}d\theta(iA_\alpha\partial_\theta
\sigma^\alpha-\frac{1}{2\pi\alpha^\prime}\Phi_i\partial_r
X^i)\bigr\rbrace
\end{equation}

\noindent Computations using the expansion of Wilson loops
\(trP\exp(i\int_{\partial\Sigma}A_\mu dX^\mu)\) are
straightforward (see for example \cite{DO},\cite{BP}). There is
however a way to avoid it introducing the auxiliary boundary
fermions \cite{DG,KT}. Now Wilson loop can be rewritten as a
functional integral over the boundary fermions coupled to the
fields \(A_\alpha\) and \(\Phi_i\) via

\begin{equation}
e^{-S_{\partial\Sigma}(A,\Phi)}=\sum\limits_{k=1}^N \bigl\lbrack
d\lambda^\dag d\lambda\bigr\rbrack e^{i\frac{2\pi k}{N}
\lbrack\lambda^\dag\lambda(\tau=\tau_0)+\frac{N}{2}-1\rbrack}
e^{-\int\limits_0^{2\pi}d\theta\lambda^\dag(\frac{d}{d\theta}+
\frac{1}{2\pi\alpha^\prime}\partial_r
X^i\Phi_i-i\partial_\theta\sigma^\alpha
A_\alpha)\lambda}\label{model}
\end{equation}

\noindent Thus we have new auxiliary fermionic fields with
propagators

\begin{equation}
<\lambda_a(\theta)\lambda^\dag_b(\theta^\prime)>=\frac{1}{2}\delta_{a
b}sign(\theta-\theta^\prime)
\end{equation}

\noindent Boundary fermions couple to the string coordinates
$X^\mu$ via $N\times N$ Hermitian traceless matrices $A_\alpha$
and $\Phi_i$ viewed as background fields.

In \cite{KT} this model was used to study world-volume potentials
on a stack of coincident D-branes and world-volume couplings of NS
fluxes which are responsible for Myers' dielectric effect
\cite{Myers}. In this section we want to study the effect of
introduction of non-trivial embedding of a stack of coincident
D-branes in a curved target space.

As a first example let us re-derive some of the results of
\cite{DO} in this model as opposed to the expansion of the Wilson
loop. For simplicity consider the case of Neumann boundary condition
in all directions. One-loop beta-function for the non-abelian gauge field
$A_\alpha$ was shown to be proportional to $(D^{A+\Gamma})^\beta
F_{\alpha\beta}$. $D^{A+\Gamma}$ is a covariant derivative
constructed using gauge field and Levi-Civita connection. This is
simply the equations for the gauge field $A_\alpha$ in the
background gravitational field. In order to compute beta-function
for $A_\alpha$ we need to consider renormalization of the coupling

\begin{equation}
-i\int d\theta\lambda^\dag_a
(A_\alpha)^{ab}\lambda_b\partial_\theta X^\alpha
\end{equation}

\noindent Expansion of this term is similar to (\ref{sbound})
since the boundary fermions $\lambda$ are quantum fields from the
beginning. To the first order in $H_{\alpha\beta}$ we get

\begin{eqnarray}
-i\int d\theta\lambda^\dag\bigl\lbrack\partial_\theta{\tilde
X}^\alpha(A_\alpha+\partial_\beta A_\alpha\xi^\beta+\frac{1}{2}
(\partial_\beta\partial_\gamma
A_\alpha-\Gamma^\delta_{\beta\gamma}\partial_\delta
A_\alpha-\partial_\alpha\Gamma^\delta_{\beta\gamma}A_\delta)\xi^\beta\xi^\gamma)
\nonumber \\
+\partial_\theta\xi^\alpha(A_\alpha+(\partial_\beta
A_\alpha-\Gamma^\gamma_{\alpha\beta}A_\gamma)\xi^\beta)\bigr\rbrack\lambda
\end{eqnarray}

\noindent However in order to make comparison easier it is better
to write it in a form:

\begin{eqnarray}
-i\int d\theta\bigl\lbrace\lambda^\dag_a(\partial_\theta\tilde
X^\alpha A_\alpha-\partial_\theta\tilde X^\alpha\xi^\beta\tilde
F_{\alpha\beta}-\frac{1}{2}\partial_\theta\tilde
X^\alpha\xi^\beta\xi^\gamma\partial_\gamma\tilde
F_{\alpha\beta}- \nonumber \\
\frac{1}{2}\partial_\theta\xi^\alpha\xi^\beta\tilde
F_{\alpha\beta} +\frac{1}{2}\partial_\theta\tilde
X^\alpha\xi^\gamma\xi^\delta\Gamma^\beta_{\gamma\delta}\tilde
F_{\alpha\beta})^{ab}\lambda_b-\nonumber\\
(A_\alpha\xi^\alpha+\frac{1}{2}\partial_\beta
A_\alpha\xi^\alpha\xi^\beta-\frac{1}{2}\Gamma^\alpha_{\beta\gamma}
A_\alpha\xi^\beta\xi^\gamma)^{ab}\partial_\theta(\lambda^\dag_a\lambda_b)\bigr\rbrace
\end{eqnarray}

One can get it using integration by parts along the lines of
\cite{ACNY} (The authors of \cite{ACNY} considered abelian gauge
field in a flat background). Here $\tilde
F_{\alpha\beta}=\partial_\alpha A_\beta-\partial_\beta A_\alpha$.
Now it is easy to see which diagrams will contribute to the
corresponding terms in $D^{(A+\Gamma)}F$. For example, consider
the following diagram involving bulk vertex:\\

\begin{picture}(7000,7000)
\THICKLINES \drawline\scalar[\E\REG](1000,-2000)[3]

\put(4000,\pmidy){\circle*{500}}

\put(4000,-3500){$F$}

\drawloop\gluon[\NW 8](\pmidx,\pmidy)

\frontstemmed\drawline\gluon[\N\REG](3500,\loopbacky)[3]

\put(3500,\loopbacky){\circle*{500}}

\put(0,0){\line(1,1){1000}}

\put(2000,3000){$\Gamma$}

\put(1500,6000){$\partial{\tilde X}^\alpha$}

\drawarrow[\E\ATBASE](1500,-2000)

\drawarrow[\E\ATBASE](7000,-2000)
\end{picture}
\vskip 0.5 in
\begin{tabbing}
Figure 4. \= \textit{Example of one-loop diagram with boundary
fermions (represented}\\
\>\textit{by dashed lines).}\\
\end{tabbing}


\noindent Together with the diagram with complex conjugate bulk
vertex it combines to give:
$-i\alpha^\prime\Gamma_{\beta,\alpha\gamma}\partial_\theta{\tilde
X}^\alpha F^{\beta\gamma}\ln\Lambda$. At this order:

\begin{equation}
\delta\bigl(-\tau_p Tr\int d^{p+1}\sigma\sqrt{-det(\tilde
G+F)}\bigr)=\frac{\tau_p}{\alpha^\prime}\int
d^{p+1}\sigma\sqrt{-\tilde G}{\beta^A}_\alpha\delta A^\alpha
\end{equation}

When there are several vertices on the boundary one may worry that
there will be many regions of integration corresponding to
relative positions of the angles on the boundary. However, as was
shown in \cite{KT} using the symmetry properties of the $\xi$
propagators on the boundary and the fact that they are double
periodic functions of angles it is possible to significantly
reduce the number of regions. The perturbation theory becomes
path-ordered like in ordinary quantum mechanics. In this case the
positions of ordered vertices lie in the interval
$[\theta_i,\theta_f]\subset[0,2\pi]$.

\section{$R\Phi^4$ corrections to the effective action}

It is clear that this model provides a simple way of computing
both world-volume potentials and derivative corrections to the
brane action. The $O(\alpha^\prime)$ corrections to the effective
action (\ref{5terms}) have overall trace in the non-abelian case.
Otherwise the analysis of section 3 holds in this case as well
since it involvs terms quadratic in $\Phi_i$. Let us study another
possible class of terms that could appear in the effective action:
$R\Phi^4$. Consider two of them:

\begin{equation}
\int d\sigma^{p+1}Tr(aR_{i j k
l}\lbrack\tilde\Phi^i\tilde\Phi^j\rbrack\lbrack\tilde\Phi^k\tilde\Phi^l\rbrack+bR_{i
j k l}\tilde\Phi^i\tilde\Phi^k\tilde\Phi^j\tilde\Phi^l)
\label{Rfi4}
\end{equation}

\noindent Using the cyclic property of trace and the symmetries of
$R_{ijkl}$ it is easy to see that for $R_{ijkl}$ independent of
$\tilde\Phi^i$ the second term is zero. Thus $b$ cannot be
determined at two loops. In order to determine the first
coefficient we have to evaluate certain two-loop diagrams. In
bosonic case at order
$O(H)$ the relevant diagram is:\\

\begin{picture}(7000,7000)
\THICKLINES

\drawline\scalar[\E\REG](0,0)[4]

\drawloop\gluon[\N 5](2000,0)

\drawline\gluon[\N\REG](4000,0)[6]

\put(4000,3000){\circle*{500}}

\put(2000,0){\circle*{500}}

\put(4000,0){\circle*{500}}

\put(6800,0){\circle*{500}}

\drawarrow[\E\ATBASE](500,0)

\drawarrow[\E\ATBASE](8000,0)

\put(2000,-1200){$\Phi$}

\put(4000,-1200){$\Phi$}

\put(6000,-1200){$\Phi$}

\put(3000,3500){$R$}

\put(2000,5500){$\partial{\tilde X}^i$}
\end{picture}
\vskip 0.5 in
\begin{tabbing}
Figure 5. \=\textit{Two-loop diagram contributing to $Tr
R_{ijkl}[\tilde\Phi^i\tilde\Phi^j][\tilde\Phi^k\tilde\Phi^l]$}
\end{tabbing}

\noindent To compute the diagram we will have to evaluate the
following integral for different orderings of $\lbrace
\theta_1,\theta_2,\theta_3\rbrace$:

\begin{equation}
\int\frac{d^2 zd\theta_1 d\theta_2
d\theta_3(1-r^2)^2}{u_3(z-u_1)(\bar z-\frac{1}{u_1})(z-u_2)(\bar
z-\frac{1}{u_2})(\bar z-\frac{1}{u_3})^2}
\end{equation}

\noindent Here $u_i=e^{i\theta_i}$. We rewrite $\int d^2 z=\int
rdr\oint \frac{dw}{iw}$, $z=rw$ and $\bar z=\frac{r}{w}$. First
integrations over $\theta_1$ and $\theta_3$ are performed, then
contour integration over $w$, and finally integration over $r$
introducing the cutoff. One integration over $\theta$ is left out
since we want to find the renormalization of the
$\frac{1}{2\pi\alpha^\prime}\int d\theta\partial_r{\tilde
X}^i\Phi_i$ coupling. A somewhat lengthy but straightforward
computation leads to the following answer for the sum of this
diagram and diagram with complex conjugate bulk vertex:

\begin{equation}
\frac{-1}{(2\pi\alpha^\prime)^3}\frac{{\alpha^\prime}^2}{4}(-\ln\Lambda)\int
d\theta\partial{\tilde X}^i R_{i j k
l}\lbrack\Phi^j\lbrack\Phi^k\Phi^l\rbrack\rbrack\label{RF4}
\end{equation}

\noindent Interpreting (\ref{RF4}) as equations of motion, we
find: $a=-\frac{\alpha^\prime\tau_p}{16(2\pi\alpha^\prime)^2}$.

In the supersymmetric case there is additional term:

\begin{equation}
\int_{\partial\Sigma}d\theta(-\alpha^\prime\psi^i\psi^j\lbrack\Phi_i\Phi_j\rbrack)
\end{equation}

The diagram on Figure 6 is the only two-loop diagram involving
fermions proportional to $R\Phi^3$.\\

\newpage

\begin{picture}(7000,7000)
\THICKLINES

\drawline\scalar[\E\REG](0,0)[4]

\drawloop\gluon[\N 2](2000,0)

\put(4000,1500){\oval(3000,3000)[r]}

\drawline\fermion[\N\REG](4000,0)[3000]

\drawline\gluon[\N\REG](4000,3000)[3]

\put(4000,3000){\circle*{500}}

\put(2000,0){\circle*{500}}

\put(4000,0){\circle*{500}}

\drawarrow[\E\ATBASE](500,0)

\drawarrow[\E\ATBASE](8000,0)

\put(2000,-1200){$\Phi$}

\put(4000,-1200){$[\Phi\Phi]$}

\put(3000,3500){$R$}

\put(2000,5500){$\partial{\tilde X}^i$}
\end{picture}
\vskip 0.5 in

\noindent Figure 6. \textit{Two-loop diagram with fermions
contributing to $Tr R_{ijkl}[\Phi^i\Phi^j][\Phi^k\Phi^l]$}\\

\noindent It cancels the contribution of the corresponding bosonic
diagram. Thus, $R\Phi^4$ corrections are absent in this case.

\section{Discussion}

In this paper we used two-loop sigma model computation to
determine certain gravitational corrections to D-brane action. In
bosonic case the $\alpha^\prime$ corrections (\ref{5terms}) were
in agreement with those found in \cite{CLR}. Corrections depending
on dilaton and $B$-field is the subject of the future work.
Interesting results in this direction using different techniques
were obtained in \cite{AAGG}. In superstring case we analyzed the
possibility of $(\alpha^\prime)^2$ corrections of the form
(\ref{Rfi4}). Those terms could be of interest in AdS/CFT
correspondence or dynamics of giant gravitons.

For example in the case of spaces of constant curvature with
curvature independent of the transverse coordinates (\ref{Rfi4})
is proportional to $Tr([\Phi^i,\Phi^j]^2)$ which is important for
Myers' dielectric effect \cite{Myers}. Thus it could be considered
as a next order correction since the effective expansion parameter
in the sigma model is $\frac{\alpha^\prime}{{R_c}^2}$. However in
the present paper we showed that those corrections are absent in
the superstring case.

\bigskip
\noindent {\bf Acknowledgments}
\bigskip

I would like to thank Tomasz Taylor for bringing my attention to
this problem and for illuminating discussions. Also I wish to
thank  Ahmad Ghodsi and Oleg Andreev for correspondence. This work
was supported in part by NSF grant PHY-99-01057

\newpage

\begin{thebibliography}{99}
\bibitem{FT} E.S. Fradkin and A. Tseytlin, Non-linear Electrodynamics from
    Quantized Strings, Phys. Lett. B163 (1985) 123.
\bibitem{Leigh} R.G.Leigh,Dirac-Born-Infeld action from Dirichlet sigma
    model, Mod. Phys. Lett. A4 (1989) 2767.
\bibitem{RR} J. Polchinski, Dirichlet-Branes and Ramond-Ramond Charges,
    Phys. Rev. Lett. 75, 4724 (1995), hep-th/9510017;
    M.B. Green, J.A. Harvey and G. Moore, I-brane inflow and
    anomalous couplings on D-branes, Class. Quant. Grav. 14 (1997) 47,
    hep-th/9605033;
    Y-K. E. Cheung and Z. Yin, Anomalies, branes and currents,
    Nucl. Phys. B517 (1998) 69, hep-th/9710206.
\bibitem{PB} J. Polchinski, TASI Lectures on D-Branes, hep-th/9611050;
    C.P. Bachas, Lectures on D-branes, hep-th/9806199.
\bibitem{MT} R.R. Metsaev and A.A. Tseytlin, Order $\alpha^\prime$
    (two-loop) equivalence of the string equations of motion and the
    $\sigma$-model  Weyl invariance conditions, Nucl. Phys. B293
    (1987) 385-419.
\bibitem{BBG} C.P. Bachas, P. Bain and M.B. Green,
    Curvature terms in D-brane actions and their M-theory origin,
    JHEP 05 (1999) 011, hep-th/9903210;
    A. Fotopoulos, On $(\alpha^\prime)^2$ corrections to the D-brane action for
    non-geodesic world-volume embeddings, JHEP 09 (2001) 005, hep-th/0104146.
\bibitem{CLR} S. Corley, D. Lowe and S. Ramgoolam,
    Einstein-Hilbert action on the brane for the bulk graviton,
    JHEP 0107 (2001) 030, hep-th/0106067.
\bibitem{CFMP} C.G. Callan, D. Friedan, E. Martinec and M.J.
    Perry, Nucl. Phys. B262 (1985) 593
\bibitem{AFM} L. Alvarez-Gaum\'e, D.Z. Freedman and S. Mukhi,
    The background field method and the ultraviolet structure
    of the supersymmetric nonlinear $\sigma$-model, Ann. of Phys.
    134 (1981) 85-109;
    S. Mukhi, The geometric background-field method,
    renormalization and the Wess-Zumino term in non-linear
    $\sigma$-models, Nucl. Phys. B264 (1986) 640-652.
\bibitem{KT} P. Khorsand and T.R. Taylor, Renormalization of boundary
    fermions and world-volume potentials on D-branes, Nucl.
    Phys. B611 (2001) 239-252, hep-th/0106244.

\bibitem{DO} H. Dorn and H.-J. Otto, Open bosonic strings in general
    background fields, Z. Phys. C-Particles and Fields 32 (1986)
    599-607.
\bibitem{BP} D. Brecher and M.J. Perry, Bound states of D-branes and the
    non-abelian Born-Infeld action, Nucl. Phys. B527(1998) 121-141,
    hep-th/9801127.
\bibitem{DG} E. D'Hoker and D.G. Gagn\'e, Worldline Path Integrals for
    Fermions with Scalar, Pseudoscalar and Vector Couplings, Nucl. Phys. B 467
    (1996) 272, hep-th/9508131; H. Dorn, Non-Abelian gauge field
    dynamics on matrix D-branes in curved space and
    two-dimensional $\sigma$-models, Fortsch.Phys. 47 (1999)
    151-157, hep-th/9712057.
\bibitem{Myers} R.C. Myers, Dielectric-Branes, JHEP 9912 (1999) 022,
    hep-th/9910053.
\bibitem{ACNY} A. Abouelsaood, C.G. Callan, C.R. Nappi and S.A.
    Yost, Open Strings in Background Gauge Fields, Nucl. Phys.
    B280 (1987) 599.
\bibitem{AAGG} F. Ardalan, H. Arfaei, M.R. Garousi and A. Ghodsi,
    Gravity on Noncommutative D-branes, hep-th/0204117
\end{thebibliography}
\end{document}

