Warning, /geant4/examples/extended/biasing/GB05/README is written in an unsupported language. File is not indexed.
0001 Example GB05: splitting by cross-section
0002 ----------------------------------------
0003
0004 This example illustrates a technique that uses physics cross-sections to
0005 determine the splitting [killing] rate in a shielding problem. This technique
0006 is supposed to be an invention, and this example here is not optimized. The
0007 technique is applied here to neutrons.
0008
0009 In the classical treatment of the shielding problem, the shield is divided
0010 in slices at the boundaries of which particles are splitted[killed] if moving
0011 forward[backward]. In the present technique, we collect the cross-section of
0012 "absorbing/destroying" processes : decay, capture, inelastic. We then use the
0013 generic biasing facilities to create an equivalent of a spitting process, that
0014 has a "cross-section" which is the sum of the previous ones. This process is
0015 competing with other processes, as a regular one. The occurence of this process
0016 is hence the same than the "absorbing/destroying" processes together. When this
0017 process wins the competition, it splits the track, with a splitting factor 2 (ie
0018 the original track is kept and a copy of it is created). This splitting is hence
0019 occuring at the same rate than the absorption, resulting in an expected
0020 maintained (unweighted) flux.
0021
0022
0023 The geometry is made of a single block of concrete it. Behind it (in the +z
0024 direction) a thin empty volume is placed to print out the particles which are
0025 exiting the shield.
0026
0027 As in any generic biasing use, a biasing operator (taking decisions on what
0028 biasing to apply) and a biasing operation (applying these decisions) are defined.
0029 These are:
0030 GB05BOptrSplitAndKillByCrossSection for the operator,
0031 GB05BOptnSplitAndKillByCrossSection for the operation.
0032
0033 The operator is created in the detector construction, and receives here the
0034 names of the absorbing/destroying processes to counterbalance for.
0035 At tracking time, it collects the up to date cross-section of these processes
0036 in the ProposeNonPhysicsBiasingOperation(...) method, and passes the sum to the
0037 GB05BOptnSplitAndKillByCrossSection operation.
0038
0039 The operation uses the cross-section (interaction length) to sample the
0040 distance to "interaction" with a classical exponential. If it wins the race
0041 (ie it proposes the smallest of the interaction distances among all processes)
0042 its GenerateBiasingFinalState(...) method is called, and it applies splitting
0043 or killing (Russian roulette) if the track moves forward or backward.
0044
0045
0046
0047