Guinea pig was written by D. Schulte in 1997, and models beam-beam interactions in next-generation linear colliders. Its approach is to treat the bunch as a relativisitic ionised fluid, so that the electromagnetic interactions are treated like a plasma. The beams are discretised into a 3-dimensional grid, where each element of the grid is a marco particle. Typically 20,000 to 500,000 macro particles are used; the beams are longitudinally cut into slices that can then be interacted subsequently with each other slice. Because of their relativistic behaviour, the interaction between the slices can be treated as a two-dimensional problem—a macro particle only interacts with macro particles around it in the constant z plane. So the problem is solved using a "clouds in cells" approach, where the potential from all surrounding cells is evaluated to calculate forces on the macro-particle.
The output files of interest were the files containing macro-particles in the beams before collision, and most importantly the lumi file, which contains pairs of macro particles that are to collide. It is those lumi events that are then fed into the physics simulation program bhwide.
Our version of guinea-pig was modified to output the full 4-momenta of the electron and positron, to enable the accurate calculation of the true spectrum. Modifications were carried out by S. Boogert.
In later runs, the output from many runs of guinea-pig are concatenated, to give a large statistical sample for bhwide to produce events from. Usually, 100 runs were performed in a sequence, giving approximately 10,000 events each.