elegant stands for “ELEctron Generation ANd Tracking,” a somewhat out-of-date description of a fully 6D accelerator program that now does much more than generate particle distributions and track them. elegant, written entirely in the C programming language[1], uses a variant of the MAD[2] input format to describe accelerators, which may be either transport lines, circular machines, or a combination thereof. Program execution is driven by commands in a namelist format.
This document describes the features available in elegant, listing the commands and their arguments. The differences between elegant and MAD formats for describing accelerators are listed. A series of examples of elegant input and output are given. Finally, appendices are included describing the post-processing programs.