
///\file "biasing/.README.txt"
///\brief Examples biasing README page

/*! \page Examples_biasing Category "biasing"

\section biasing_s1 B01, B02 and B03

B01, B02 and B03 applications demonstrate the usage of different variance
reduction techniques supported in Geant4, or possible from the user
applications.

\subsection biasing_sub_11 General remark to variance reduction

The tools provided for importance sampling (or geometrical splitting and
Russian roulette) and for the weight window technique require the user to 
have a good understanding of the physics in the problem. This is because 
the user has to decide which particle types have to be biased, define the 
cells (physical volumes, replicas) and assign importances or weight 
windows to that cells. If this is not done properly it can not be 
expected that the results describe a real experiment. The examples given 
here only demonstrate how to use the tools technically. They don't intend 
to produce physical correct results.

\subsection biasing_sub_12 General remark to scoring

Scoring is carried out using the built-in Multifunctional detectors. For
parallel geometries this requires a special scoring physics process.
See examples/extended/runAndEvent (especailly RE05) for clarification.

\subsection biasing_sub_13 Known problems - should not happen

In the following scenario it can happen that a particle is not
biased and it's weight is therefore not changed even if it crosses
a boundary where biasing should happen.
Importance and weight window sampling create particles on boundaries 
between volumes. If the GPIL method of a physical process returns 
0 as step length for a particle on a boundary and if the PostStepDoIt of
that process changes the direction of the particle to go back in the 
former volume the biasing won't be invoked. 
This will produce particles with weights that do not correspondent to the
importance of the current volumes.

\subsection biasing_sub_14 Further information:

Short description of importance sampling and scoring:
https://geant4.web.cern.ch/collaboration/working_groups/geometryTransport/#development-documents (Under the Event Biasing & Tallies Section)

\subsection biasing_sub_15 Example B01 

The example uses importance sampling or the weight window technique 
according to an input parameter. It uses scoring in both cases. 
Importance values or weight windows are defined according to the mass 
geometry. In this example the weight window technique is configured such 
that it behaves equivalent to importance sampling: The window is actually 
not a window but simply the inverse of the importance value and only
one energy region is used that covers all energies in the problem.
The user may change the weight window configuration by changing the
initialization of the weight window algorithm in example,cc. 
Different energy bounds for the weight window technique may be specified 
in B01DetectorConstruction.

The executable takes one optional argument: 0 or 1. Without argument or
with argument: 0, the importance sampling is applied with argument: 1,
the weight window technique is applied.


\subsection biasing_sub_16 Example B02 

This example uses a parallel geometry to define G4GeometryCell objects
for scoring and importance sampling. The output should be equivalent to B01.

A modular approach is applied to the physicslist and the extension for biasing.
The parallel geometry is included in this extension.

\subsection biasing_sub_17 Example B03

This example uses a parallel geometry to define G4GeometryCell objects
for scoring and importance sampling. The output should be statistically 
equivalent to B02 (and B01).

This demonstrates a customised "flat" physics implementation with the addition
of biasing. Complementary approach to the modular physics lists of B01 and B02


\section biasing_s2 Generic biasing examples GB01 - GB06

These examples illustrate the usage of a biasing scheme implemented since
version Geant4 10.0.
The scheme is meant to be extensible, not limited to these six examples.

\link ExampleGB01 Example GB01  \endlink

This example illustrates how to bias process cross-sections in this scheme.

\link ExampleGB02 Example GB02  \endlink

Illustrates a force collision scheme similar to the MCNP one.

\link ExampleGB03 Example GB03  \endlink

Illustrates geometry based biasing.

\link ExampleGB04 Example GB04  \endlink

Illustrates a bremsstrahlung splitting.

\link ExampleGB05 Example GB05 \endlink

Illustrates a "splitting by cross-section" technique: a splitting-based
technique using absorption cross-section to control the neutron population.

\link ExampleGB06 Example GB06 \endlink

Illustrates the usage of parallel geometries with generic biasing.

\link ExampleGB07 Example GB07 \endlink

Illustrates the usage of leading particle biasing with generic biasing.

\section biasing_s3 Reverse MonteCarlo Technique example

\link ExampleReverseMC01 Example ReverseMC01 \endlink

Example illustrating the use of the Reverse Monte Carlo (RMC) mode in a Geant4
application. See details in \link ExampleReverseMC01 Example README page
\endlink.

*/
