Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/extended/biasing/GB03/

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Name Size       Last modified (GMT) Description
Back Parent directory       2024-12-05 15:16:16
Folder include/       2024-12-05 15:16:16
Folder src/       2024-12-05 15:16:16
File CMakeLists.txt 2359 bytes       2024-12-05 15:16:16
File GNUmakefile 366 bytes       2024-12-05 15:16:16
File History 1577 bytes       2024-12-05 15:16:16
File README 1852 bytes       2024-12-05 15:16:16
C++ file exampleGB03.cc 3767 bytes       2024-12-05 15:16:16
File exampleGB03.in 424 bytes       2024-12-05 15:16:16
File exampleGB03.out 49323 bytes       2024-12-05 15:16:16
File vis.mac 1863 bytes       2024-12-05 15:16:16

  1                 Example GB03 : geometry based biasing
  2                 -------------------------------------
  3 
  4     This example illustrates a use of generic biasing classes to implement a
  5 technique near to "geometry importance biasing".
  6 
  7     The geometry is the same than in EM tests, with the sampling calorimeter
  8 made of a series of layers of absorber and gap.
  9 
 10     The biasing applies to neutrons only.
 11 
 12     Instead of explicitely assigning "importance" values to the layers, we
 13 split neutrons moving forward and kill the ones moving backward, when they
 14 reach the exit of an absorber volume.
 15 
 16     The splitting factor can be controlled by command line, eg:
 17 
 18     /GB03/biasing/setSplittingFactor 2
 19 
 20 which also determines the killing probability : 1/(splitting factor).
 21 
 22     It can be seen than when defining 10 layers (see exampleGB03.in), a
 23 splitting factor 2 works fine : we don't suffer from under- or over-splitting.
 24     If going to 20 layers, then a splitting with a factor 2 is too large,
 25 and the biasing suffers from over-splitting. (And we can not go lower than
 26 "2", which would mean "1" and hence, no biasing...)
 27     
 28     To alleviate the over-splitting, we introduce a probability to apply the
 29 splitting (and killing) (this is one solution, others can be considered), that
 30 can be changed as:
 31 
 32     /GB03/biasing/setApplyProbability 0.5
 33 
 34     With above value, we can see that we recover a satisfactory biasing scheme,
 35 with neutrons penetrating the entire setup, without over-splitting.
 36 
 37 
 38     The classes involved are:
 39 
 40     - GB03BOptnSplitOrKillOnBoundary : which is the biasing operation making
 41       the splitting and killing;
 42     - GB03BOptrGeometryBasedBiasing : which is the biasing operator, making
 43       decision to use above operation, and configuring it, passing it the
 44       splitting factor and probability to apply the biasing.
 45