Back to home page

EIC code displayed by LXR

 
 

    


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