- added TPCLib to doxygen docu, code corrections according to documentation and effC++
[u/mrichter/AliRoot.git] / HLT / README
CommitLineData
b521659f 1Package: ALICE HLT
2
0fc7626e 3This package implements the ALICE High Level Trigger analysis framework.
b521659f 4All contributions are under the terms of the
5GNU General Public License as published by the Free Software
6Foundation. Also see files AUTHORS and THANKS.
7
8This packages is maintained by Matthias.Richter@ift.uib.no
9Comments, bug reports, suggestions welcome!
10
c160eda8 11TOC
12===
131. Overview
142. Requirements
153. Setting up a version retrieved from CVS
164. Modifying a distributed package
175. Installation
186. Documentation
197. Further information
208. Reporting bugs/Asking for support
219. Committing to the AliRoot CVS
22
231. Overview
24===========
0fc7626e 25This package provides a compilation of shared libraries of the ALICE
08e73b29 26HLT project and is intended for stand-alone compilation, i.e. not as part
27of the AliRoot compilation.
28
b521659f 29- BASE: The base library (libHLTbase.so) provides the common interface for HLT
30processing components, the binding into the ALICE offline project AliRoot
31and a pure C interface to the HLT on-line framework (Publisher/Subscriber
32framework)
08e73b29 33
b521659f 34- SampleLib: The sample library contains examples for component
35implementation and a tutorial.
08e73b29 36
b521659f 37- TPCLib: The HLT code for the TPC
0fc7626e 38- TPCLib/OnlineDisplay: HLT visualization code for the TPC
b521659f 39
08e73b29 40Currently, the the package is not included to the standard AliRoot
41compilation, but will be part of it.
42
43The old stand-alone build system is still available. Check the README
44file in the doc folder.
45
c160eda8 462. Requirements
47===============
08e73b29 48The package needs both ROOT and AliRoot. Both must be set up in the
49usual way (ROOTSYS, ALICE_ROOT, library locations evtl. specified in
50LD_LIBRARY_PATH, ...). Actually, the BASE and SampleLib modules are
51not dependend on AliRoot. The TPCLib does.
52
78b557c2 53To set up a version retrieved from CVS, autoconf 2.57, automake 1.6
54,and libtool 1.4 or higher versions are required. Thats the versions
55which come with the Scientific Linux CERN 3. The same applies if
56you want to change the Makefiles.
57
58If your GNU build tools are too old, ask the maintainers for a distributed
59package.
60
c160eda8 613. Setting up a version retrieved from CVS
62==========================================
b521659f 63Skip this section if you have started from the tar ball.
64
0fc7626e 65A version checked out from CVS requires a few steps to set up the Makefiles.
b521659f 66Go to the directory and run
67autoreconf -i -f
68
69Then continue with the package configuration described in the 'Installation'
70section.
71
c160eda8 724. Modifying a distributed package
73==================================
b521659f 74If you are going the modify a distributed package you might need to re-make
75the GNU build system by running
76 autoreconf -f -i
77
78Please notify the authors about bug fixes/corrections/extensions you made if
79you consider them worth to be merged into the project.
80
81Then continue with the package configuration described in the 'Installation'
82section.
83
c160eda8 845. Installation
85===============
0fc7626e 86NOTE: The Makefiles which are in repository are part of the old build system.
bd771eb6 87Now, the Makefile.am templates are valid.
88
b521659f 89Package build relies on the GNU triplet configure, make and make install.
0fc7626e 90In order to keep the development directory clean, it is recommended to
91use a separate build directory.
b521659f 92
93 mkdir build
94 cd build
95 ../configure
96 make
97 make install
98
0fc7626e 99You should redirect the output of the make into a file.
600e6a1b 100The default install directory is set to the current directory ($PWD). To
101override the default directory use the option --prefix=<dir>
102All binary libraries will be installed under <prefix>/lib. If the directory
103id eaual to $ALICE_ROOT, the libraries will be installed under
104<prefix>/lib/tgt_<arch> as used for AliRoot.
b521659f 105
106Some important options:
107--enable-logging # Enable/Disable logging (default enabled)
108--enable-sample # Compile the sample library
109--enable-tpc # Compile the TPC library
600e6a1b 110--enable-phos # Compile the PHOS library
b521659f 111
08e73b29 112Note: You can have several build directories with different configure options,
113but using the same source code.
114
b521659f 115If you need further information on the GNU build system, execute from the
116top directory:
117./configure --help | less
118
119
c160eda8 1206. Documentation
121================
08e73b29 122Documentation is generated from the source code at compile time if
123doxygen is installed on the machine. From the build directory, open
124doc/html/index.html with a web browser.
125
c160eda8 1267. Further information
127======================
b521659f 128A wiki with detailed information is set up at
129http://www.kip.uni-heidelberg.de/wiki/HLT
0fc7626e 130
c160eda8 1318. Reporting bugs/Asking for support
132====================================
0fc7626e 133Please include the following information into your request:
134- config.log from your build directory
135- output of the make process. Note: Redirect BOTH the stdout and stderr
136 channel to a log file. Redirection depends on the shell you are using:
137 bash: make 2>&1 | tee make.log
138 csh: make |& tee make.log
139 The 'tee' command just duplicates the output.
c160eda8 140- history of the commands you are using for compilation
141 history > history.log
142
1439. Committing to the AliRoot CVS
144================================
145For development of HLT analysis code check out a HEAD version from the
600e6a1b 146repository and implement your code.
147
148For committing do:
1491. make sure that the code changes are correct
150 cvs diff | less
151 remember to restore all temporary changes you made (e.g. log level default)
1522. cvs update
1533. correct merging conflicts
1544. compile and test your code again
1555. send the whole HLT module except the build sub-directories to
c160eda8 156 Matthias.Richter@ift.uib.no
600e6a1b 1576. you will get a notification when the code is committed, right after that you
c160eda8 158 must either do another cvs update or check out the complete module again in
159 order to have the right CVS information