GET library
GETDocCompilation.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file GETDocCompilation.hh
3  *
4  * Documentation page for compilation.
5  */
6 //======================================================================
7 
8 
9 //======================================================================
10 /*! \page get_page_compilation GET libraries compilation and OS environment
11  *
12  *
13  * \par Operating system requirements
14  *
15  * Only Linux OS are supported (currently, I could install the libraries
16  * on Scientific Linux, CentOS, Fedora, Ubuntu).
17  *
18  * In order to build and use the GET library, the following libraries
19  * must be installed:
20  * - Linux system libraries:
21  * - the ROOT / CERN package (environment variable \b ROOTSYS must be defined):
22  * - the Xerces-c library (check if environment variable \b XERCESCROOT exists
23  * and define \b XERCESC_INC and \b XERCESC_LIB environment variables)
24  * for XML configuration files parsing
25  * - GANIL/GET libraries
26  * - the MFM library for Meta Frames (L. Legeard, GANIL)\n
27  * \global_docs_dir/GETdoc/MFM_15_10_22c/html/index.html
28  * - the TinyXML library (needed by MFM library)
29  * - J.G. libraries (contact giovinaz@cenbg.in2p3.fr): the environment variable
30  * \b SYSTEM must be defined for compilation identification (it is used for
31  * the following libraries - see specific documentations):
32  * - the GCpp library (C++ general purpose library)\n
33  * \global_docs_dir/JGlibs/GCpp\version/html/index.html
34  * - the GRootTools library (useful functions and classes to be used within
35  * ROOT environment - requires to define the \b ROOT_VERSION environment
36  * variable)\n
37  * \global_docs_dir/JGlibs/GRootTools\groot_version/html/index.html
38  * - (the GFFT library is now part of the GCpp and GRootTools libraries)\n
39  *
40  * For a full step-by-step installation of all packages, refer to the
41  * page \ref GETFullInstallationGuide.txt.
42  *
43  * All the required packages can be found there:
44  * <A HREF=\global_docs_dir/libs_download.html>Libraries download page</A>
45  *
46  *
47  * \warning
48  * - only ROOT version up to 5.34 are supported
49  * - scripts for compilation options and configuration defined only
50  * for \b csh / \b tcsh.
51  *
52  * Before compilation, be sure the required libraries are properly
53  * installed and corresponding environment variables are defined.
54  *
55  * After compilation, the configuration files for OS environment must
56  * be called (see below how to set configuration in the shell
57  * configuration script).
58  *
59  *
60  * \par Extraction of the archive file in the required directory
61  *
62  * The archive file must be extracted in the required directory,
63  * noted <base_dir>, in a shell:
64  * \code
65  * [shell] cp <GETx.x>_<archive_date>.tgz <base_dir>
66  * [shell] cd <base_dir>
67  * [shell] tar zxvf <GETx.x>_<archive_date>.tgz
68  * \endcode
69  *
70  * A subdirectory <GETx.x> is created (where x.x is the library version).
71  *
72  *
73  * \par Compilation of the main library
74  *
75  * \code
76  * [shell] cd <base_dir>/<GETx.x>/src
77  * [shell] make
78  * \endcode
79  *
80  * The compilation also creates shell scripts in order to easily get
81  * the options for compilation of programs with the library, and a
82  * shell script to define environment variables.
83  *
84  * This shell configuration script may be called in the shell configuration
85  * script.
86  *
87  * For \b csh / \b tcsh, add the following line (exact command is printed out
88  * at the end of compilation) to the \b $HOME/.cshrc file:
89  * \code
90  * # define environment variables and scripts for use of GET library
91  * source <base_dir>/<GETx.x>/bin/${SYSTEM}_r${ROOT_VERSION}/get_config.csh
92  * \endcode
93  *
94  *
95  * \par Compilation of the additional library for specific ROOT analysis
96  *
97  * Before compiling the additional library for ROOT analysis, the shell
98  * must be updated to take into account the GET environment variables:
99  *
100  * For \b csh / \b tcsh:
101  * \code
102  * [shell] source $HOME/.cshrc
103  * \endcode
104  *
105  * Then compile the library
106  * \code
107  * [shell] cd <base_dir>/<GETx.x>/root/src
108  * [shell] make
109  * \endcode
110  *
111  * Here also, the configuration script should be added to the shell
112  * configuration file.
113  *
114  * For \b csh / \b tcsh (\b $HOME/.cshrc file):
115  * \code
116  * # define environment vfor use of GET additional library for ROOT
117  * source <base_dir>/<GETx.x>/bin/${SYSTEM}_r${ROOT_VERSION}/get_root_config.csh
118  * \endcode
119  *
120  * Finally, the shell configuration must be updated:
121  * \code
122  * [shell] source $HOME/.cshrc
123  * \endcode
124  *
125  *
126  * \par Compilation of the ACTAR TPC reader library and program
127  *
128  * The <B>Event Analysis</B> library must be installed in order to compile
129  * the ACTAR TPC data reader class and program.
130  * Then, the library can be build from the GETActarEventReader class and
131  * the default program GETActarRead is compiled.
132  * The library is stored with the main GET library, and the program is
133  * stored in the GET library associated executable files (bin directory).
134  *
135  * \code
136  * [shell] cd <base_dir>/<GETx.x>/tools/GETActarReader
137  * [shell] make
138  * \endcode
139  */
140 
141 //======================================================================
142 /*! \example GETFullInstallationGuide.txt
143  *
144  * <B>IMPORTANT NOTE</B>
145  *
146  * <B>The tools and libraries proposed here have been developed for my needs
147  * in the data analysis.</B>
148  * - there is no warranty that they are bug-free
149  * - I am not a computing developer, so there are many possible improvements
150  * (and for instance computation speed...)
151  *
152  * <B>I make the codes available despite it is not part of the GET project itself,
153  * but I would <I>REALLY APPRECIATE</I> if users of the code may mention it somewhere
154  * when used for analysis.
155  *
156  * And please, let me know...</B>
157  *
158  * \n
159  *
160  */