Geant4 Cross Reference

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

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 368 bytes       2024-12-05 15:16:16
File History 988 bytes       2024-12-05 15:16:16
File README 2499 bytes       2024-12-05 15:16:16
C++ file exampleGB05.cc 5340 bytes       2024-12-05 15:16:16
File exampleGB05.in 45 bytes       2024-12-05 15:16:16
File exampleGB05.out 201320 bytes       2024-12-05 15:16:16
File vis.mac 1863 bytes       2024-12-05 15:16:16

  1                 Example GB05: splitting by cross-section
  2                 ----------------------------------------
  3 
  4     This example illustrates a technique that uses physics cross-sections to
  5 determine the splitting [killing] rate in a shielding problem. This technique
  6 is supposed to be an invention, and this example here is not optimized. The
  7 technique is applied here to neutrons.
  8 
  9     In the classical treatment of the shielding problem, the shield is divided
 10 in slices at the boundaries of which particles are splitted[killed] if moving
 11 forward[backward]. In the present technique, we collect the cross-section of
 12 "absorbing/destroying" processes : decay, capture, inelastic. We then use the
 13 generic biasing facilities to create an equivalent of a spitting process, that
 14 has a "cross-section" which is the sum of the previous ones. This process is
 15 competing with other processes, as a regular one. The occurence of this process
 16 is hence the same than the "absorbing/destroying" processes together. When this
 17 process wins the competition, it splits the track, with a splitting factor 2 (ie
 18 the original track is kept and a copy of it is created). This splitting is hence
 19 occuring at the same rate than the absorption, resulting in an expected
 20 maintained (unweighted) flux.
 21 
 22 
 23     The geometry is made of a single block of concrete it. Behind it (in the +z
 24 direction) a thin empty volume is placed to print out the particles which are
 25 exiting the shield.
 26 
 27     As in any generic biasing use, a biasing operator (taking decisions on what
 28 biasing to apply) and a biasing operation (applying these decisions) are defined.
 29 These are:
 30     GB05BOptrSplitAndKillByCrossSection for the operator,
 31     GB05BOptnSplitAndKillByCrossSection for the operation.
 32     
 33     The operator is created in the detector construction, and receives here the
 34 names of the absorbing/destroying processes to counterbalance for.
 35     At tracking time, it collects the up to date cross-section of these processes
 36 in the ProposeNonPhysicsBiasingOperation(...) method, and passes the sum to the
 37 GB05BOptnSplitAndKillByCrossSection operation.
 38 
 39     The operation uses the cross-section (interaction length) to sample the
 40 distance to "interaction" with a classical exponential. If it wins the race
 41 (ie it proposes the smallest of the interaction distances among all processes)
 42 its GenerateBiasingFinalState(...) method is called, and it applies splitting
 43 or killing (Russian roulette) if the track moves forward or backward.
 44 
 45 
 46     
 47