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 ------------------------------------------------------------
2
3 Example of the external decayer implementation with PYTHIA6
4 -----------------------------------------------------------
5
6 The complete PYTHIA6 documentation can be found at:
7 http://home.thep.lu.se/~torbjorn/pythiaaux/recent.html
8
9 The PYTHIA6 external decayer was originally developed within
10 the AliRoot framework, by Andreas Morsch (CERN).
11 The dependence on the ALICE software was taken off
12 by Christian Holm Christensen,
13 The dependence on the Root framework and the integration in
14 the Geant4 framework was done by Ivana Hrivnacova (IPN Orsay).
15
16 ------------------------------------------------------------
17
18 The use of the external decayer is demonstrated with using the
19 classes from common examples repository, see below their complete list.
20
21 The G4Pythia6Decayer class provides the implementation of the
22 G4VExternalDecayer interface with using PYTHIA6. In order
23 to be able to use PYTHIA6, which is written in FORTRAN,
24 a C++ interface class Pythia6 is provided. This class
25 interfaces only the PYTHIA6 functions relevant to decay.
26
27 The G4Pythia6Decayer is instantiated in the P6DExtDecayerPhysics builder,
28 in the ConstructProcess() function where the external decayer is set
29 to G4Decay process for all particles.
30 To demonstrate the decay with external decayer,
31 the B- meson is defined in ExG4PrimaryGeneratorAction01,
32 as it has no own decay table defined within Geant4.
33
34 With PYTHIA6, it is possible to force a selected decay
35 type. This selection can be chosen interactively via
36 the implemented Geant4 UI command:
37
38 /pythia6Decayer/forceDecayType decayType
39
40 where the available decay types are listed in the EDecayType
41 enumaration.
42
43 The classes Pythia6, G4Pythia6Decayer, G4Pythia6DecayerMessenger
44 are independent from the example classes and can be reused
45 in another user application.
46
47 Installation:
48
49 1. Download the PYTHIA6 source file from the PYTHIA6 download site:
50 http://www.hepforge.org/downloads/pythia6
51
52 2A.) With CMake: Build pythia6 library
53
54 For a convenience a CMake file for building Pythia6 library from
55 the source is provided in
56 examples/extended/eventgenerator/CMakeLists.txt.pythia6.
57 Build the pythia6 library following the instructions in this file
58 and then define the environment variables:
59 PYTHIA6 the path where pythia6 library is installed
60 PYTHIA6_VERSION the pythia version
61
62 2B.) With GNUmake: Define the environment variables:
63 PYTHIA6 the path to pythia-versionX.f source code
64 PYTHIA6_VERSION the pythia version
65
66 e.g. If you download pythia-6.4.26.f.gz and unzip it in $HOME,
67 then you have to set:
68 export PYTHIA6=$HOME
69 export PYTHIA6_VERSION="6.4.26"
70
71 Pythia6 will be then compiled together with example code.
72
73 3. Compilation:
74 Then the example is compiled in a standard way, see examples/README_HowToRun.
75 Note that with GNUmake build, an additional step 'gmake setup' is
76 needed before 'gmake'.
77
78 Execution:
79
80 % pythia6_decayer pythia6_decayer.in
81
82 This example uses the following user action classes from the extended examples common
83 repository available in common subdirectory:
84 DetectorConstruction
85 GunPrimaryGeneratorAction