Monte Carlo simulation techniques are applied to track the annihilation photons from positron decay, and store the photon histories. Reasonably realistic models of the isotope distribution in the brain and heart during typical PET studies, as well as the traditional phantoms used for measuring PET scanner performance can be built out of up to 10 hollow or solid cylinders. Separate programs model the source distribution and its attenuation characteristics, the collimators and the detectors. These modules are connected by compact gamma history files which are stored on disc or tape. Over 50 million gamma ray histories can be saved on a 1 Gbyte disc, representing the decay of several billion atoms. This allows for good precision even for single thin slices in scanners with wide axial acceptance. The simulation results include spectrum analysis, sensitivity to true coincident events, scattered coincident and single rays, and the effects on these parameters of detector dead time. The storage of intermediate results on tape reduces simulation time, since most common source geometries need be generated only once. The sensitivities in multi-slice systems are presented as matrices of coincident crystal planes. The matrix shows the true count sensitivity and the scatter fraction together for each valid combination of planes. This presentation is very useful for assessing the effects of various degrees of inter-plane collimation. The spatial resolution analysis includes the effects of positron range, non-collinearity of the gamma rays, multiple interaction within the detectors, and the effects of quantization into single crystals in multiple-crystal block detectors. Each of these effects can be turned on or off without repeating the simulation. Both in-plane and axial resolutions are calculated as a function of location of the positron-emitting nucleus and the angle of incidence of gamma rays on the crystals. Single crystals, blocks and crystals with depth of interaction encoding can be specified, as can the method of backprojection (planar, or 3D), so that the detector geometry can be optimized.