]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STARLIGHT/starlight/Readme.PhotoNuclear
Update PR task: drathee
[u/mrichter/AliRoot.git] / STARLIGHT / starlight / Readme.PhotoNuclear
1
2 ======= Photonuclear Processes =======
3
4 Simulation of photonuclear interactions with STARlight is possible through an interface with DPMJet or Pythia. 
5 These interfaces can be enabled through options passed to cmake during the configuration process. However, due 
6 to DPMJet depending on a different version of Pythia from what is used in the Pythia interface, both cannot be 
7 enabled at the same time. 
8
9 The 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