]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STARLIGHT/starlight/Readme.PhotoNuclear
STARLIGHT code and interface
[u/mrichter/AliRoot.git] / STARLIGHT / starlight / Readme.PhotoNuclear
CommitLineData
da32329d
AM
1
2======= Photonuclear Processes =======
3
4Simulation of photonuclear interactions with STARlight is possible through an interface with DPMJet or Pythia.
5These interfaces can be enabled through options passed to cmake during the configuration process. However, due
6to DPMJet depending on a different version of Pythia from what is used in the Pythia interface, both cannot be
7enabled at the same time.
8
9The gfortran compiler is required to use the photonuclear interfaces.
10
11
12 ======= 1. Photonuclear interactions with DPMJet =======
13
14
15 ------- 1.1. Obtaining and installing DPMJet -------
16
17
18 The DPMJet package can be obtained by contacting the authors as explained here:
19 http://sroesler.web.cern.ch/sroesler/dpmjet3.html
20
21 Once you have the code proceed with these steps:
22
23 Changle the line containing the OPT variable in the DPMJet Makefile:
24
25 OPT = -c -C -std=legacy -O -O3 -g -fexpensive-optimizations -funroll-loops -fno-automatic -fbounds-check -v -fPIC
26
27 ----- 64-bit -----
28
29 You should make sure that all -m32 options are removed from the Makefile.
30
31 Unfortunately the DPMJet package depends on a floating point exception trap implementation,
32 and only a 32-bit version of that is included in the package. An example implementation can be found here:
33
34 http://www.arsc.edu/arsc/support/news/hpcnews/hpcnews376/
35
36 Under "Fortran Floating Point Traps for Linux" there is a code example. A file based on this, fpe.c,
37 can be found in the external directory in Starlight. Move that to your DPMJet directory and run:
38
39 $ gcc -o fpe.o fpe.c
40
41 ----- End 64-bit -----
42
43 Then in the DPMJet directory run:
44
45 $ make
46
47 ------- 1.2. Compiling Starlight with DPMJet interface -------
48
49 To enable the compilation of the DPMJet interface please follow these steps:
50
51 CMake uses an environment variable $DPMJETDIR to locate the DPMJet object files.
52
53 $ export DPMJETDIR=<path to dpmjet>
54
55 Then create a build directory for Starlight
56
57 $ mkdir <build-dir>
58
59 and change into it
60
61 $ cd <build-dir>
62
63 Run CMake with the option to enable DPMJet
64
65 $ cmake <path-to-starlight-source> -DENABLE_DPMJET=ON
66
67 Then build it
68
69 $ make
70
71
72 ------- 1.3. Running Starlight with DPMJet interface -------
73
74
75 To run Starlight with the DPMJet interface a couple of files are needed in the directory
76 where you want to run Starlight.
77
78 The files needed are:
79 slight.in (Starlight config file. An example suitable for DPMJet can be found in config/slight.in.dpmjet)
80 my.input (DPMJet config file. An example can be found in config/my.input)
81 dpmjet.dat (Can be found in the DPMJet source directory)
82
83 In the slight.in file the relevant production modes (PROD_MODE) for DPMJET is:
84
85 5: A+A single excitation
86 6: A+A double excitation
87 7: p+A single excitation
88
89 In addition the minimum and maximum gamma energies must be set. It is important that
90 these are within the interval set in the my.input file
91
92