With recent additions, the machinery for photon physics has become rather extensive [Fri00]. The border between the physics of real photon interactions and of virtual photon ones is now bridged by a description that continuously interpolates between the two extremes, as summarized in section . Furthermore, the 'gamma/lepton' option (where lepton is to be replaced by e-, e+, mu-, mu+, tau- or tau+ as the case may be) in a PYINIT call gives access to an internally generated spectrum of photons of varying virtuality. The CKIN(61) - CKIN(78) variables can be used to set experimentally motivated and limits on the photon fluxes. With this option, and the default MSTP(14) = 30, one automatically obtains a realistic first approximation to `all' QCD physics of and interactions. The word `all' clearly does not mean that a perfect description is guaranteed, or that all issues are addressed, but rather that the intention is to simulate all processes that give a significant contribution to the total cross section in whatever range is being studied: jets, low- events, elastic and diffractive scattering, etc.
The material to be covered encompasses many options, several of which have been superseded by further developments but have been retained for backwards compatibility. Therefore it is here split into three sections. The first covers the physics of real photons and the subsequent one that of (very) virtual ones. Thereafter, in the final section, the threads are combined into a machinery applicable at all .