Warning, /geant4/examples/extended/eventgenerator/pythia/decayer6/README.md is written in an unsupported language. File is not indexed.
0001 \page Exampledecayer6 Example decayer6
0002
0003 This is an example of the external decayer implementation
0004 with PYTHIA6.
0005
0006 The complete PYTHIA6 documentation can be found at:
0007 https://pythia.org/
0008
0009 The PYTHIA6 external decayer was originally developed within
0010 the AliRoot framework, by Andreas Morsch (CERN). \n
0011 The dependence on the ALICE software was taken off
0012 by Christian Holm Christensen. \n
0013 The dependence on the Root framework and the integration in
0014 the Geant4 framework was done by Ivana Hrivnacova (IPN Orsay).
0015
0016 <hr>
0017
0018 The use of the external decayer is demonstrated with using the
0019 classes from common examples repository, see below their complete
0020 list.
0021
0022 The G4Pythia6Decayer class provides the implementation of the
0023 G4VExternalDecayer interface with using PYTHIA6. In order
0024 to be able to use PYTHIA6, which is written in FORTRAN,
0025 a C++ interface class Pythia6 is provided. This class
0026 interfaces only the PYTHIA6 functions relevant to decay.
0027
0028 The G4Pythia6Decayer is instantiated in the
0029 P6DExtDecayerPhysics::ConstructProcess() function where the external
0030 decayer is set to G4Decay process for all particles.
0031 To demonstrate the decay with external decayer,
0032 the B- meson is defined in ExG4PrimaryGeneratorAction01,
0033 as it has no own decay table defined within Geant4.
0034
0035 With PYTHIA6, it is possible to force a selected decay
0036 type. This selection can be chosen interactively via
0037 the implemented Geant4 UI command:
0038 ```
0039 /pythia6Decayer/forceDecayType decayType
0040 ```
0041 where the available decay types are listed in the EDecayType
0042 enumaration.
0043
0044 The classes Pythia6, G4Pythia6Decayer, G4Pythia6DecayerMessenger
0045 are independent from the example classes and can be reused
0046 in another user application.
0047
0048 Installation:
0049 - 1. Download the PYTHIA6 source file from the PYTHIA web site:\n
0050 https://pythia.org/
0051
0052 Note: The last tested version: 6.4.28
0053
0054 - 2A. With CMake: Build pythia6 library
0055
0056 For a convenience a CMake file for building Pythia6 library from
0057 the source is provided in
0058 examples/extended/eventgenerator/CMakeLists.txt.pythia6.
0059 Build the pythia6 library following the instructions in this file
0060 and then define the environment variables:
0061 ```
0062 PYTHIA6 the path where pythia6 library is installed
0063 PYTHIA6_VERSION the pythia version
0064 ```
0065
0066 - 2B. With GNUmake: Define the environment variables: \n
0067 ```
0068 PYTHIA6 the path to pythia-versionX.f source code
0069 PYTHIA6_VERSION the pythia version
0070 ```
0071
0072 e.g. If you download pythia-6.4.28.f.gz and unzip it in $HOME,
0073 then you have to set:
0074 ```
0075 export PYTHIA6=$HOME
0076 export PYTHIA6_VERSION="6.4.28"
0077 ```
0078 pythia6 will be then compiled together with example code.
0079
0080 - 3. Compilation:\n
0081 Then the example is compiled in a standard way, see
0082 [How to build and run an example](../../html/README_HowToRun.html).
0083 Note that with GNUmake build, an additional step 'gmake setup' is
0084 needed before 'gmake'.
0085
0086 - 4. Execution:
0087 ```
0088 % ./pythia6_decayer pythia6_decayer.in
0089 ```
0090
0091 This example uses the following user action classes from the extended examples 'common'
0092 repository:
0093 - Common::DetectorConstruction
0094 - Common::GunPrimaryGeneratorAction