]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PYTHIA8/pythia8145/README
LambdaBLambda force decay option added.
[u/mrichter/AliRoot.git] / PYTHIA8 / pythia8145 / README
CommitLineData
9419eeef 1
2 BASIC INSTALLATION
3
41) Once you have unpacked your tarball into a new (sub)directory,
5 the first step is to run the "configure" script. If you accept the
6 default compiler options, and plan to run PYTHIA 8 standalone, you
7 only have to type "./configure". This will create the file config.mk.
8 Actually, running this script by hand is optional since "make" will
9 run "configure" anyway, but possible errors in the paths will be
10 less clearly visible.
11
122) Type "gmake" or "make". This will create an archive library.
13 On Linux systems gmake and make are usually equivalent. For others,
14 in case of doubt, use gmake. This applies below as well.
15
163) The library should now be ready for use. To study some examples,
17 go to the "examples" subdirectory. The README file in that
18 subdirectory contain further instructions how executables can
19 be built and run.
20
214) At any time, typing "gmake clean" will remove all files related to
22 the library compilation, including the library itself, but it will
23 not reset the configure selections. With "gmake distclean" additionally
24 the configure selection is reset, and many other temporary files are
25 removed. Output files you may have created during your test runs are
26 not affected. (A "gmake clean" is also available in the examples
27 subdirectory, see the README there.)
28
29----------------------------------------------------------------------
30
31 ADVANCED INSTALLATION
32
331) If you want to set various compilation options, or prepare the
34 linking to the HepMC external library then the "configure" script
35 will have to do more work. There are two different ways to
36 accomplish this.
37
381.1) You can use command-line arguments to set up the desired library
39 links. The possible options are:
40 --help : prints a brief summary of the options described here.
41 --enable-debug : turns on debugging flags and turns off optimization.
42 (This makes program execution much slower. If you later want to
43 switch optimization back on you have to rerun configure without
44 this option, since default is to allow optimization.)
45 --enable-shared : turns on shared-library creation,
46 in addition to the archive libraries always built.
47 --enable-64bits : turns on 64 bits compilation flag
48 (is automatic on many 64-bit installations, but just in case).
49 --lcgplatform=name : allows you to specify the platform assumed for
50 compilation, which also affects the assumed location of the
51 libraries below; default is slc4_ia32_gcc34 while other supported
52 values for name include slc4_amd64_gcc34 and slc3_ia32_gcc323
53 (deprecated).
54 --with-hepmc=path : the path to your local copy of the HepMC library.
55 Please note that HepMC version 1 is no more supported. If the path
56 does not contain the version number you will be warned about it.
57 --with-hepmcversion=v : a simpler alternative to the above, valid
58 if you are using the CERN AFS LCG external area. See the HepMC
59 WEB site for the information about the versions currently
60 "in production"
61 There also are a few environment variables that you can set to
62 force the configuration process or add flags:
63 USRCXXFLAGS : to add flags. Use this variable to add -fPIC to the
64 compilation flags for the static libraries
65 USRLDFLAGSSHARED : to add flags to the shared library build command
66 USRSHAREDSUFFIX : to force shared libraries suffix to be like this
67 (default on MacOSX is dylib).
68
691.2) If you want to use the external HepMC from some different location,
70 or it is more convenient to put the paths directly into the script,
71 then you have to edit the "configure" file by hand before you run
72 it. Search in the "configure" file for
73 HEPMCLOCATION
74 and provide the paths where you have the respective libraries
75 installed on your local platform.
76
77 Information on the selected paths is stored in the files config.mk,
78 examples/config.sh and examples/config.csh when you run "./configure".
79
802) If you want to change the version of HepMC, you have to
81 rerun the script "configure" with relevant options, then type "make"
82 to recompile the library hepmcinterface. If you tried already to run
83 examples with previous versions, pay attention to the environment
84 variable LD_LIBRARY_PATH (see README in examples).
85
86 Hints on how to install HepMC from scratch can be found in the
87 separate README.HepMC file.
88
893) If you have two CPUs or cores on your computer then using the -j2
90 option on make/gmake may speed up compilation.
91
924) Necessary data are automatically loaded when you use the default
93 PYTHIA installation directory structure and run the main programs in
94 the examples subdirectory. However, in the general case, you must
95 provide the path to the .xml files, originally stored in the xmldoc
96 directory, where default settings and particle data are found. This
97 can be done in two ways.
98
994.1) You can set the environment variable PYTHIA8DATA to contain the
100 location of the xmldoc directory. In the csh and tcsh shells this
101 could e.g. be
102 setenv PYTHIA8DATA /home/myname/pythia81xx/xmldoc
103 while in other shells it could be
104 export PYTHIA8DATA=/home/myname/pythia81xx/xmldoc
105 where xx is the subversion number.
106 Recall that environment variables set locally are only defined in
107 the current instance of the shell. The above lines should go into
108 your .cshrc and .bashrc files, respectively, if you want a more
109 permanent assignment.
110
1114.2) You can provide the path as argument to the Pythia constructor in
112 your main program, e.g.
113 Pythia pythia("/home/myname/pythia81xx/xmldoc");
114 where again xx is the subversion number.
115
116 When PYTHIA8DATA is set it takes precedence, else the path in the
117 constructor is used, else one defaults to the ../xmldoc directory.
118
119----------------------------------------------------------------------
120
121 FOR WINDOWS USERS
122
123The Makefile.msc file is intended for use on Win32/NMAKE systems with
124the Microsoft Visual C/C++ compiler. This alternative installation
125is not the development platform, however, and therefore not as well
126tested. Not all parts of the above installation procedure are the same,
127so some experimentation may be required. A few suggestions are found
128in the the separate README.Win32 file.
129
130----------------------------------------------------------------------
131
132 LEARN MORE
133
134To learn more about the current program:
135
136A) A brief self-contained introduction is found in the
137 htmldoc/pythia8100.pdf file.
138
139B) Details can be found by opening a web browser on the
140 htmldoc/Welcome.html file, and then navigating among the pages
141 in the index there.
142
143----------------------------------------------------------------------