Back to home page

EIC code displayed by LXR

 
 

    


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