In Monte Carlo particle transport codes, it is often important to adjust
reaction cross sections to reduce the variance of calculations of relatively
rare events, in a technique known as non-analogous Monte Carlo. We present the
theory and sample code for a Geant4 process which allows the cross section of a
G4VDiscreteProcess to be scaled, while adjusting track weights so as to
mitigate the effects of altered primary beam depletion induced by the cross
section change. This makes it possible to increase the cross section of nuclear
reactions by factors exceeding 10^4 (in appropriate cases), without distorting
the results of energy deposition calculations or coincidence rates. The
procedure is also valid for bias factors less than unity, which is useful, for
example, in problems that involve computation of particle penetration deep into
a target, such as occurs in atmospheric showers or in shielding