Warning, /geant4/examples/extended/biasing/GB07/README.md is written in an unsupported language. File is not indexed.
0001 \page ExampleGB07 Example GB07
0002
0003 ## Leading particle biasing
0004
0005 This example illustrates how to use the leading particle biasing option.
0006
0007 It uses the G4BOptnLeadingParticle biasing operation located in:
0008
0009 source/processes/biasing/generic ,
0010
0011 and defines the following biasing operation to handle it:
0012
0013 GB07OptrLeadingParticle.
0014
0015 As a reminder, the generic biasing scheme consists of a G4VBiasingOperator
0016 that takes decisions on what sort of biasing technique to be applied. The
0017 techniques are called biasing operations, represented by the G4VBiasingOperation
0018 class. The operator is attached to a logical volume in which the biasing must
0019 happen. Decisions are made on requests of the G4BiasingProcessInterface process
0020 that messages the operator when the track is travelling in the volume. To equip
0021 the phyics list with this process, the G4GenericBiasingPhysics physics
0022 constructor is used. In this example, several processes -to which the technique
0023 is applied- are wrapped by this process to control their final state production
0024 for applying the biasing technique.
0025
0026 ## Geometry
0027
0028 The geometry is simply :
0029 - a volume in which the biasing occurs and to which an instance of
0030 GB07BOptrLeadingParticle is attached,
0031 - a thin volume placed after the above volume, that is used to tally the
0032 particles exiting biasing volume.
0033 - a sensitive detector is attached to the thin volume to simply print the
0034 particles entering here. In particular the statistical weight is printed,
0035 this one is obtained by:
0036
0037 ```cpp
0038 w = track->GetWeight() ;
0039 ```
0040
0041 ## Biasing configuration
0042
0043 The particle types and processes under the leading particle biasing are
0044 visible in the main() program exampleGB07.cc, these are:
0045
0046 pi+ and pi-, inelastic process,
0047 proton and anti-proton, inelastic process,
0048 neutron, inelastic and capture processes,
0049 anti-neutron, inelastic process,
0050 gamma, conversion and photonNuclear processes,
0051 electron, electronNuclear process,
0052 positron, annihilation and positronNuceal processes,
0053 pi0, decay process.
0054
0055 For the inelastic and lepto/gamma-nuclear processes, leading particle is applied in a rather
0056 classical way:
0057 - keep the leading particle,
0058 - keep one particle of each species (particles and anti-particles are considered a one
0059 species, and all hadrons with Z>=2 are counted as one species too).
0060
0061 For e+, e-, gamma and pi0 processes (which means in practice main conversion, annihililation
0062 and pi0 decay processes), the leading particle is kept, and the companion track(s) is(are) randomly
0063 kept/killed under a Russian roulette, with a 2/3 killing probabilty. See
0064 GB07BOptrLeadingParticle::StartTracking() for this killing probability setting.
0065
0066 ## Running the program:
0067
0068 The program can be run in batch or interactive mode and has the following options:
0069
0070 - batch mode:
0071 ```
0072 ./exampleGB07 [-m macro ] [-b biasing {'on' = default,'off'}]
0073 ```
0074 or
0075 ```
0076 ./exampleGB07 [macro.mac]
0077 ```
0078
0079 - interactive mode:
0080 ```
0081 ./exampleGB07 [-b biasing {'on' = default,'off'}]
0082 ```