Next: Arithmetical expressions, Up: Lattice
A GMAD program consists of a sequence of element definitions and control commands. For example, tracking a 1 GeV electron beam through a FODO cell will require a file like this:
mk: marker;
qf: quadrupole, l=0.5*m, k1=0.1*m^-2;
qd: quadrupole, l=0.5*m, k1=-0.1*m^-2;
d: drift, l=0.5*m;
fodo : line=(qf,d,qd,d,mk);
use, period=fodo;
beam, particle="e-",energy=1*GeV;
option, beampipeRadius=5*cm, beampipeThickness=5*mm;
sample, range=mk;
Generally, the user has to define a sequence of elements (with drift
,
quadrupole
, line
etc.), then select the beamline with the
use
command and specify beam parameters and other options with
beam
and option
commands.
The sample
and csample
commands control what sort of information
will be recorded during the execution.
The parser is case sensitive. However, for convenience of porting lattice descriptions from MAD the keywords can be both lower and upper case. The GMAD language is discussed in more detail in this section.