Files
geant4/examples/extended/biasing
2016-06-08 16:39:52 +02:00
..
2016-06-08 16:39:52 +02:00
2016-06-08 16:39:52 +02:00
2016-06-08 16:39:52 +02:00
2016-06-08 16:39:52 +02:00
2016-06-08 16:39:52 +02:00
2016-06-08 16:39:52 +02:00
2016-06-08 16:39:52 +02:00
2016-06-08 16:39:52 +02:00
2016-06-08 16:39:52 +02:00
2016-06-08 16:39:52 +02:00
2016-06-08 16:39:52 +02:00

                        Examples for event biasing
                        --------------------------

This directory includes example applications to demonstrate the usage of
different biasing techniques supported in Geant4, or possible from the 
user applications.


General remark to biasing
-------------------------
The tools provided for importance sampling (or geometrical splitting and
Russian roulette) 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 regions (physical volumes, 
replicas) and assign importances to that regions. 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.

General remark to scoring
-------------------------
A interface G4VPScorer is provided for the user. The user may create his 
own class to perform the desired scoring. The user defined class 
therefore should inherit from the interface G4VPScorer. 
There are two example scorers G4PScorer and G4PIScorer provided. 
When scoring is done in a "scoring" or in a "importance" geometry
special action has to be taken to prevent counting of
"collisions" with boundaries of the tracking geometry as interactions.
This is differently handled when scoring is done in the tracking geometry.
The scorers B01Scorer and B02Scorer show the difference in that case.
The Scorer B06Scorer checks for consistency of importance and weight.

Known problems
--------------
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.
The importance sampling creates 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.


I. Examples for scoring without biasing
=======================================

I. 1. Example B01
-----------------
This example shows how to  use scoring in the "tracking" geometry.
It scores several values for neutrons for every physical volume
in the tracking geometry. 
All scored values are printed after the running. In addition a more
exclusive output of selected values is printed. The way the
last output is produced shows how to extract certain values from all
scored values.


I. 2. Example B02
-----------------
This example shows how to use scoring in a "parallel" or "scoring" 
geometry. In this example a tracking and a scoring geometry is 
constructed. Gammas are scored in the scoring geometry. The scored values
are dumped to the screen after the run. How to access the score values 
more exclusively is shown in example B01.


II. Examples for biasing without scoring
========================================

II. 1. Example B03
------------------
This example shows how to use biasing in the "tracking" geometry. 
It does not do scoring. The importances are setup during the
mass detector construction in the file:
B03/src/B03DetectorConstruction.cc. 


II. 2. Example B04
------------------
This example shows how to use biasing according to a "parallel" 
or "importance" geometry. The importances are setup during the 
construction of the parallel geometry in the file:
B04/src/B04ImportanceDetectorConstruction.cc.



III. Examples for biasing and scoring
=====================================

III. 1. Example B05
-------------------
Biasing and Scoring in the "tracking" geometry.
The importances are setup during the mass detector construction
in the file: B05/src/B05DetectorConstruction.cc.
Scoring is done with G4PIScorer from transportation. G4PIScorer
scores several values for all the physical volumes of a geometry.
It also checks that the importance value times track weight = 1, 
which should hold in "simple" cases.


III. 2. Example B06
-------------------
Biasing and scoring in a "parallel" geometry.
The importances are setup during the construction of the parallel geometry
in the file B06/src/B06ImportanceDetectorConstruction.cc.
Customised scorer B06Scorer and printer B06ScorePrinter are  used.



III. 3. Example B07
-------------------
Biasing neutrons and gammas in a "parallel" geometry.
The physics list used in this example creates only processes for 
gammas and neutrons. Other particles that my be produced
will have no processes and can therefore not produce 
any particles.
The idea is to have the simulation performing somewhat like a 
transportation Monte Carlo that only knows about neutrons and gammas and 
is only used in a limited energy range.


IV. Example for weight window sampling
-------------------------------------


IV.1 Example B08 
----------------
This is an example using importance sampling and weight window biasing 
together with scoring in a parallel geometry. Only the sampler
for importance, weight window sampling and scoring in a parallel geometry
exists at the moment.
The example setup:
A 180 cm long concrete shield is divided into 18 cells of 10 cm each.
The cells are created in a parallel geometry. Importance values
can be applied via an init.mac file. Scoring is done according to the
cells for neutrons and gammas. 
Since this example intents to show the weight window sampling 
the primary neutrons are created with the relatively high
energy of 300 MeV. Neutrons with this energy
penetrate the concrete (according to the chosen physics list)
relatively easy. So no importance sampling would be necessary.
The high energy is selected to show the effect of the weight window 
sampling. High energetic secondaries which are not importance sampled 
may create neutrons which have a weight different from the inverse of 
the importance in the cell. If a finite weight window is chosen this 
results in relative average weights of the tracks in a given cell not 
equal to one.
If the upper and lower limit of the weight window is set to 1 
the relative weights are 1.