This website is no longer maintained. Its content may be obsolete. Please visit http://home.cern/ for current CERN information.
Mario Stipcevic / PPE
FEYN is a package for high-quality drawing of Feynman graphs and related intuitive pictures. The emphasis is on the quality of the picture and the ease of use. FEYN is not a stand-alone package but consists of a set of PAW (Physics Analysis Workstation, CERN Program Library Long Writeup Q121) macros which draw simple objects such as fermion, scalar, photon, gluon,... and loops or half-loops.
To get a picture one has to create a macro written in FEYN's meta-language and run it under PAW. Of course, once the picture is drawn on the graphic HIGZ screen, it can be printed or saved to a file as (Encapsulated) PostScript in the usual way or by using the tools provided with the package itself.
The present version supports the list of commands whose short descriptions are shown below. More details are given in the User manual. Note that command names are case insensitive, parameters in square brackets are optional.
FINIT
Initializes FEYN. The pawlogon.kumac PAW macro, distributed with FEYN, executes this command automatically.
NEW [width height] D= 10 10
Sets the size of the drawing ``paper''.
FEND
End of work with FEYN. Drops all FEYN initializations.
START x y
Set the current position to point (x,y).
GO dx [dy]
Moves the current position by (dx,dy).
MEM [n] D=1
Saving the current position into memory number ``n''.
REC [n] D=1
Moves to the position memorized in the memory ``n''.
BACK [n] D=1
Go ``n'' leaps back.
DOT [sf] [typ] D=1 20
Draws various types of dots at the current position.
ARROW [af sf] D=1 1
Draws an arrow at the current position.
COLOR [color [object]] D=black all
Sets the colour of object(s) and the background.
CENTER mname [lm rm um dm [bx]] D=0 0 0 0 ' '
Centers the drawing in macro ``mname'' on the paper with optional margins.
FERM FLOOP FHLOOP
Draws a fermion, a fermion loop (circle) or fermion half-loop (semi-circle).
SCAL [af] D=0 SLOOP [af] D=1 0 SHLOOP [p [af]] D=1 0
Package for drawing scalars (dashed line). It operates in a way similar to the fermion package (FERM, FLOOP, FHLOOP).
PHOTON [q [af]] D=1 0 PLOOP [af] D=1 0 PHLOOP [p [af]] D=1 0
Package for drawing photons (sinusoidal curve). It operates in a way similar to the fermion package (FERM, FLOOP, FHLOOP).
GLUON [q [af]] D=1 0 GLOOP [af] D=1 0 GHLOOP [p [af]] D=1 0
Package for drawing gluons (cycloidal curve). It operates in a way similar to the fermion package (FERM, FLOOP, FHLOOP).
BLOB [ty]
Draws a ``blob'', i.e. a shaded or coloured circle.
JET [af]
Draws a jet of particles.
TEXT 'text' [tf [dx dy [al]]] D=1 0 0 c
Writes ``text'' next to the last drawn object, at a position calculated by FEYN taking into account the optional alignment and offset.
TXT 'text' [x y] [al] D=current_position c
Writes the ``text'' at the position (x,y) with alignment.
Below are a series of examples. First let us draw a very simple graph.
MACRO GRAPH | start of main macro | (arbitrary name) * Simplest drawing new 10 10 |'paper' size 10 by 10 cm exec x1234 | execute macro 'x1234' center x1234 | centers graph produced | by subroutine x1234 RETURN | end of main macro * MACRO x1234 | beginning of macro x1234 | (arbitrary name) start 5 5 | go 1 2 | ferm 1 | text 'e' | go -1 2 | ferm 1 | text 'e' | back | go 2 0 | photon | text '[g]' | greek letter \gamma RETURN | end of macro x1234
When the file is written, it can be executed with:
PAW> run test
The resulting picture is:
start 0 0 go 2 0 ferm 1 text 'e^-' go -1.5 0 go 0 -1 photon -1 dot 1 x back go 1 0 go 1 1 photon
color blue text start 0 0 go 1 0 ferm 1 text 'c' dot go 1 -1 gluon 2 1 color red text text 'g' back go 1 .5 ferm 1 color blue text text 'c' color black text
start 0 0 color black text color green ferm go 2 0 dot scal 1 text ' P' go 2 0 fhloop -1 1 text ' q[-]P/2' -1 fhloop 1 4 text 'q+P/2' -2 0 1 text 'q+P''![-]P/2' 2 0.5 1 dot go 2 0 scal 1 text ' P''' go -3 1 dot go 0 1 photon
start 0 0 go 2 0 gluon text 'g' -2 go 1.5 -1 ferm 1 text 't' go -1.5 -1 ferm -1 text 't' go 0 2 ferm -1 text 't' back go -2 0 gluon text 'g' 2 go 3.5 1 go 2 0 scal 2 text 'H^0' 2
start 0 0 color text red go 2 0 ferm 1 text 'e^\261' -1 back go -.3 go 1.4 ghloop 1 text 'g' 1 * -----
These PAW macros are available via the <A HREF="http://wwwinfo.cern.ch/pl/paw/index.html">PAW Home Page</A>.