Back to home page

EIC code displayed by LXR

 
 

    


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 ```