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 ]
1 This is an example of how to use "generic biasing" to get the following
2 functionality which is currently not available directly in the Geant4
3 hadronic framework.
4
5 We want to use the physics list FTFP_BERT everywhere in our detector,
6 except that in one (or more) logical volume(s) we want to use a
7 different combination of hadronic models, e.g. FTFP + INCLXX
8 (instead of the default FTFP + BERT), for the final-state generation.
9
10 Notice that we use the powerful "generic biasing" machinery available
11 in Geant4, but the actual weights of all tracks remain to the usual
12 value (1.0) as in the normal (unbiased) case.
13
14 In this example, the detector is very simple:
15 - a homogeneous block of silicon, as a proxy of a tracker sub-detector;
16 - followed by a crystal, as a proxy of an electromagnetic calorimeter;
17 - followed by a homogeneous block of iron, as a proxy of a hadron
18 calorimeter.
19 We assume that the block of silicon is where we want to replace FTFP+BERT
20 with FTFP+INCLXX for the final-state modeling of proton, neutron, pion-
21 and pion+-inelastic interactions (of any energy).
22 This silicon layer is made artificially thick (20 cm) in order to have
23 more hadron inelastic interactions for testing.
24
25 This example has been tested only for G4 10.5.p01 and 10.6, but it should
26 work also for previous recent releases (i.e. 10.4 and 10.3).
27 The example works in both sequential and multi-threaded modes, and the
28 CPU overhead due to "generic biasing" for this application seems to be
29 very small (at the per-cent level).
30
31 To build it:
32 mkdir Build; cd Build
33 cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \
34 -DGeant4_DIR=/path-to-geant4-libraries ../.
35 make
36
37 To run it:
38 ./Hadr08 hadr08.in
39 which shoot 100 pion+ of 5 GeV kinetic energy.
40