Back to home page

EIC code displayed by LXR

 
 

    


Warning, /geant4/examples/extended/hadronic/Hadr02/README.md is written in an unsupported language. File is not indexed.

0001 \page ExampleHadr02 Example Hadr02
0002 
0003 
0004 Example and DMJET: 
0005 \author V.Ivanchenko, A.Ivanchenko, \n
0006 UrQMD: Kh Abdel-Waged et al, A. Dotti  \n
0007 CRMC: A. Ribon (with contributions by T. Pierog and A. Tykhonov) \n
0008 CERN, Geneva, Switzerland \n
0009 Geant4 Associate International \n
0010 University of Bordeaux, CENBG/IN2P3/CNRS \n
0011 (ESA contract 22712/09/NL/AT)
0012 
0013 This example application is providing simulation of ion beam interaction with different 
0014 targets. Hadronic aspects of beam target interaction are demonstrated in the example 
0015 including longitudinal profile of energy deposition, spectra of secondary  particles,
0016 isotope production spectra. The results are presenting in a form of average numbers 
0017 and histograms. All ion/ion models of Geant4 are available. 
0018 
0019 In addition an interface to the FORTRAN code UrQMD-1.3rc developed by Kh, Abdel-Waged et al
0020 for the KACST/NCMP. UrQMD model by S.A.Bass et al. Prog.Part.Nucl.Phys. 41 (1998) 225
0021 and M.Bleicher et al. J.Phys. G25 (1999) 1859.
0022 UrQMD can be used only for ion-ion physics or for all hadronic inelastic interactions.
0023 
0024 The interface to the Cosmic Ray Monte Carlo (CRMC) allows to use generators -
0025 such as EPOS, DPMJET, SIBYLL etc. - for hadron-nucleus and nucleus-nucleus collisions
0026 at very high energies.
0027 
0028 ## INSTALLATION
0029 
0030 For simulation with Geant4 native models installation procedure is the same as for 
0031 other examples.
0032 
0033 ## HOW TO RUN
0034 
0035 To run the example:
0036 
0037 ```
0038 ./Hadr02 <yourmacro> QGSP_BIC
0039 ```
0040 
0041 The last parameter is optional. It is the name of Geant4 reference Physics List, 
0042 alternatively Physics List can be defined via environment variable
0043 
0044 ```
0045 setenv PHYSLIST QGSP_BIC
0046 ```
0047 
0048 ## ACTIVATION OF URQMD INTERFACE
0049 
0050 UrQMD 1.3 FORTRAN code is NOT provided with Geant4 code-base.
0051 You can get UrQMD code from UrQMD code website: http://urqmd.org
0052 The Geant4 interface has been developed and tested against urqmd-1.3cr
0053 Once the tarball urqmd-1.3cr.tar.gz has been downloaded copy it in the 
0054 urqmd1_3 directory of this example.
0055 To compile support for UrQMD interface in the example define the environment
0056 variable G4_USE_URQMD. i.e. by typing:
0057 
0058 ```
0059 setenv G4_USE_URQMD 1
0060 ```
0061 
0062 Two possible uses of UrQMD interface are possible: use UrQMD code only for
0063 ion-ion interactions or use the provided UrQMD physics list (all hadron inelastic interactions
0064 use UrQMD).
0065 To run the example with UrQMD only for ion-ion physics:
0066 
0067 ```
0068 ./Hadr02 urqmd.in QGSP_BIC
0069 ```
0070 
0071 The last parameter is optional. It is the name of Geant4 reference Physics List on
0072 top of which a new ion physics is added. Alternatively Physics List can be defined via 
0073 environment variable
0074 
0075 ```
0076 setenv PHYSLIST QGSP_BIC
0077 ```
0078 
0079 To run the example with the full UrQMD physics:
0080 
0081 ```
0082 ./Hadr02 default.in UrQMD
0083 ```
0084 or:
0085 ```
0086 setenv PHYSLIST UrQMD
0087 ./Hadr02 default.in
0088 ```
0089 
0090 UrQMD physics list can be used in any application, releavant headers and source files (*UrQDM*)
0091 should be copied in your application source tree, together with the urqmd1_3 sub-directory.
0092 Your application makefile should also be modified following the example of the makefile for this 
0093 example.
0094 
0095 ## ACTIVATION OF CRMC INTERFACE                        
0096 
0097 The CRMC (Cosmic Ray Monte Carlo) interface is NOT provided with Geant4 code-base.
0098 A modified version of the CRMC interface for Geant4 applications has been kindly
0099 prepared by Tanguy Pierog (IKP) and Andrii Tykhonov (Universite' de Geneve)
0100 and can be obtained here:
0101  https://gitlab.ikp.kit.edu/AirShowerPhysics/crmc/-/tree/svn/geant4
0102 
0103 Assuming that this special version of CRMC is installed in the subdirectory
0104 crmc-svn-geant4/ , you need first to build it : please look at the README and
0105 README_GEANT4_CRMC_INTERFACE files for detailed instructions on how to build it.
0106 In short:
0107 
0108 1. Install BOOST
0109 2. Install HepMC (and define the corresponding environmental variable HEP_ROOT)
0110 3. Install FASTJET (and define the corresponding environmental variable
0111                     FASTJET_ROOT_DIR)
0112 4. Set the LD_LIBRARY_PATH as follows:
0113    ```
0114    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${HEP_ROOT}/lib:${FASTJET_ROOT_DIR}/lib
0115    ```
0116 5. Source the Geant4 script geant4make.sh , e.g.
0117    ```
0118    source /your-geant4-installation-dir/share/Geant4-10.7.1/geant4make/geant4make.sh
0119    ```
0120 6. Compile:
0121    ```
0122    cd crmc-svn-geant4/
0123    mkdir Build/ ; cd Build/   # Subdirectory where to build and install CRMC
0124    cmake ../
0125    make
0126    make install   # Yes, you need also to install it (in the same directory)!
0127    ```
0128 
0129 After you have built CRMC you can build the Hadr02 application that uses it as follows:
0130 
0131 1. Define the following environmental variable (in addition to the environmental
0132    variables defined above, needed to build CRMC):
0133    ```
0134    export G4_USE_CRMC=1
0135    export CRMCROOT=/your-crmc-installation-dir/crmc-svn-geant4/
0136    export CPATH=${CPATH}:${CRMCROOT}/Build/src:${CRMCROOT}/src
0137    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CRMCROOT}/Build/lib
0138    export CRMC_CONFIG_FILE=${CRMCROOT}/Build/crmc.param
0139    ```
0140 2. Compile
0141    ```
0142    cd /your-geant4/examples/extended/hadronic/Hadr02
0143    mkdir Build/ ; cd Build/   #  Subdirectory where to build Hadr02
0144    cmake -DG4_USE_CRMC=ON -DGeant4_DIR=/your-geant4-installation-dir/ ../
0145    make
0146    ```
0147 
0148 To run the application:
0149 
0150 1. Define the following environmental variable (besides the previous ones):
0151    ``` 
0152    export PHYSLIST=CRMC_FTFP_BERT
0153    ```
0154 2. Run application:
0155    ```
0156    cd /your-geant4/examples/extended/hadronic/Hadr02/Build
0157    ./Hadr02 crmc.in
0158    ```
0159 
0160 which runs the special "CRMC_FTFP_BERT" physics list, defined in this example,
0161 which consists of using the standard FTFP_BERT physics list for hadrons of
0162 kinetic energies below 100 GeV, while using CRMC above 110 GeV : in the interval
0163 between 100 and 110 GeV, there is the transition between FTFP and CRMC (which
0164 means that one of these two models is randomly chosen for each interaction,
0165 with a probability which is 100% (0%) for FTFP (CRMC) at 100 GeV, and
0166 decreases (grows) linearly to 0% (100%) for FTFP (CRMC) at 110 GeV.
0167 Which of the MC generators of CRMC is actually used is specified in the file: \n
0168   `include/G4CRMCModel.hh` \n
0169 (search for string "***LOOKHERE***" : these are the available choices:
0170  EPOS LHC (0) - the default - , EPOS 1.99 (1), SIBYLL 2.3c (6), and
0171  DPMJET 3 (12) ).
0172 
0173 Notice that we use CRMC only for inelastic final-state of pion- , kaon- ,
0174 proton- , neutron- and ion-nuclear interactions, whereas for the rest
0175 (i.e. elastic and inelastic cross sections, elastic final-state interactions,
0176 hyperon- , antihyperon- , antinucleon- and light anti-ion nuclear interactions)
0177 we use Geant4 FTFP_BERT.
0178 
0179 ## GEOMETRY
0180 
0181 The Target volume is a cylinder placed inside Check cylindrical volume. The 
0182 Check volume is placed inside the World volume. The radius and the length of
0183 the Check volume are 1 mm larger than the radius and the length of the Target.
0184 The material of the Check volume is the same as the World material. The World
0185 volume has the sizes 10 mm larger than that of the Target volume. Any material
0186 from the Geant4 database can be defined. The default World  material is
0187 G4Galactic and the default  Target material is aluminum. The Target is
0188 subdivided on number of equal slices. Following UI commands are available to
0189 modify the geometry:
0190 
0191 ```
0192 /testhadr/TargetMat     G4_Pb
0193 /testhadr/WorldMat      G4_AIR
0194 /testhadr/TargetRadius  10 mm
0195 /testhadr/TargetLength  20 cm
0196 /testhadr/NumberDivZ    200
0197 ```
0198 
0199 Beam direction coincides with the target axis and is Z axis in the global
0200 coordinate system. G4ParticleGun is used as a primary generator. The energy 
0201 and the type of the beam can be defined via standard UI commands
0202 
0203 ```
0204 /gun/energy   150 GeV
0205 /gun/particle ion
0206 /gun/ion 6 12
0207 ```
0208 
0209 Default beam position is -(targetHalfLength + 5*mm) and direction along Z axis.
0210 Beam position and direction can be changed by gun UI commands:
0211 
0212 ```
0213 /gun/position  1 10 3 mm
0214 /gun/direction 1 0 0
0215 ```
0216 
0217 however, position command is active only if before it the flag is set
0218 
0219 ```
0220 /testhadr/DefaultBeamPosition false
0221 ```
0222  
0223 ## SCORING
0224 
0225 The scoring is performed with the help of UserStackingAction class and a
0226 sensitive detector class associated with a target slice. 
0227 Each secondary particle is scored by the StackingAction.  In
0228 the StackingAction it is also possible to kill all or only EM (e+, e-, gamma)
0229 secondary particles 
0230 
0231 ```
0232 /testhadr/killAll  
0233 /testhadr/KillEM
0234 ```
0235 
0236 To control running the following options are available:
0237 
0238 ```
0239 /run/printProgress 10
0240 ```
0241 
0242 ## PHYSICS
0243 
0244 PhysicsList of the application uses components, which are distributed with
0245 Geant4 in /geant4/physics_lists subdirectory. 
0246 
0247 Reference Physics Lists are used and the environment variable PHYSLIST should 
0248 be defined. 
0249 
0250 Additionally it is possible to add ion-ion interactions using UI command
0251 
0252 ```
0253 /testhadr/ionPhysics   HIJING
0254 /testhadr/ionPhysics   QrQMD
0255 ```
0256 
0257 ## VISUALIZATION
0258 
0259 The vis.mac file can be used an example of visualization.
0260 
0261 ## HISTOGRAMS
0262 
0263 It is possible to choose the format of the output file with 
0264 histograms using UI command:
0265 
0266 ```
0267 /testhadr/histo/fileName   name
0268 /testhadr/histo/fileType   type
0269 ```
0270 
0271 The following types are available: root, xml(aida). They will be
0272 stored in the file "name.root", or "name.xml".
0273 
0274 
0275 All histograms are normalized to the number of events.
0276