Commit acc4267f7206fbc0a20fda72c8778a2892807400

Authored by Jürgen Knödlseder
1 parent 5f76923a

Restructure user documentation

doc/source/admin/download.rst
1   -.. _sec_download:
  1 +.. _download:
2 2  
3 3 Download
4 4 ========
... ... @@ -7,7 +7,7 @@ The latest GammaLib release is
7 7 `gammalib-1.6.0 <http://cta.irap.omp.eu/ctools/releases/gammalib/gammalib-1.6.0.tar.gz>`_
8 8 (29 May 2019).
9 9  
10   -Below a list of older GammaLib releases. Please read the :ref:`sec_release` to
  10 +Below a list of older GammaLib releases. Please read the :ref:`release` to
11 11 learn more about new features and corrected bugs in a given release.
12 12  
13 13 To download an older release, click on the corresponding release number:
... ...
doc/source/admin/index.rst
1   -.. _sec_admin:
  1 +.. _admin:
2 2  
3 3 Getting GammaLib
4 4 ================
... ...
doc/source/admin/install_conda.rst
1   -.. _sec_install_conda:
  1 +.. _install_conda:
2 2  
3 3 Installing via Anaconda
4 4 =======================
... ...
doc/source/admin/install_devel.rst
1   -.. _sec_install_devel:
  1 +.. _install_devel:
2 2  
3 3 Installing the development version
4 4 ==================================
... ... @@ -16,7 +16,7 @@ Download the source tarball from the following link
16 16  
17 17 - `GammaLib <http://cta.irap.omp.eu/ctools/releases/gammalib/gammalib-1.7.0.dev.tar.gz>`_
18 18  
19   -and follow the instructions on :ref:`sec_install_source`.
  19 +and follow the instructions on :ref:`install_source`.
20 20  
21 21  
22 22 Git repository
... ... @@ -62,7 +62,7 @@ the following command sequence (the code will be installed into the
62 62 $ export GAMMALIB=/usr/local/gamma
63 63 $ source $GAMMALIB/bin/gammalib-init.sh
64 64  
65   -Please read the :ref:`sec_install_source` section if you need more information
  65 +Please read the :ref:`install_source` section if you need more information
66 66 on how to install GammaLib.
67 67  
68 68 .. note::
... ...
doc/source/admin/install_source.rst
1   -.. _sec_install_source:
  1 +.. _install_source:
2 2  
3 3 Installation from source code
4 4 =============================
5 5  
6 6 Compiling GammaLib from source is the recommended method to install the package
7 7 in case that you do not use Anaconda (if you use Anaconda, please follow
8   -the instructions at :ref:`sec_install_conda`, and better do not try to compile
  8 +the instructions at :ref:`install_conda`, and better do not try to compile
9 9 the source code against your Anaconda Python installation). You also need to
10 10 compile from source if you want to use the development version of GammaLib.
11 11  
... ...
doc/source/admin/release_history/index.rst
1   -.. _sec_release:
  1 +.. _release:
2 2  
3 3 Release History
4 4 ===============
... ...
doc/source/conf.py
... ... @@ -48,7 +48,7 @@ master_doc = &#39;contents&#39;
48 48  
49 49 # General information about the project.
50 50 project = u'GammaLib'
51   -copyright = u'2006-2016, GammaLib developers'
  51 +copyright = u'2006-2019, GammaLib developers'
52 52  
53 53 # The version info for the project you're documenting, acts as replacement for
54 54 # |version| and |release|, also used in various other places throughout the
... ...
doc/source/develop/coding/coding.rst
... ... @@ -177,7 +177,7 @@ The class definition is structured in several sections:
177 177  
178 178 Note that most classes will derive from the abstract interface class
179 179 :doxy:`GBase` which imposes the implementation of the :doxy:`GBase::clear`, the
180   -:doxy`GBase::clone` and the :doxy:`GBase::print` methods.
  180 +:doxy:`GBase::clone` and the :doxy:`GBase::print` methods.
181 181  
182 182 The definition of pure virtual methods should be done in a section that
183 183 is separate from the methods that are implemented.
... ... @@ -425,4 +425,4 @@ class extensions. Here an example:
425 425 Note that the access operators perform explicit range checking because the
426 426 ``[]`` operators used do not any range checking. In addition, in this was
427 427 the Python operator names ``__getitem__()`` and ``__setitem__()`` can be
428   -specified in the exception.
429 428 \ No newline at end of file
  429 +specified in the exception.
... ...
doc/source/develop/index.rst
1   -.. _sec_develop:
  1 +.. _develop:
2 2  
3 3 Developer documentation
4 4 =======================
... ...
doc/source/help/index.rst
1   -.. _sec_help:
  1 +.. _help:
2 2  
3 3 Getting Help
4 4 ============
... ...
doc/source/users/howto/index.rst deleted
1   -======
2   -How To
3   -======
4   -
5   -.. toctree::
6   - :maxdepth: 1
7   -
8   - sky/index
9   -
10   -
doc/source/users/index.rst
1   -.. _sec_users:
  1 +.. _users:
2 2  
3 3 User Documentation
4 4 ==================
... ... @@ -8,4 +8,4 @@ User Documentation
8 8  
9 9 quickstart
10 10 user_manual/index
11   - howto/index
  11 + tutorial/index
... ...
doc/source/users/quickstart.rst
... ... @@ -58,7 +58,6 @@ Now let&#39;s append a model to this container. For this, type:
58 58 === GModelSky ===
59 59 Name ......................:
60 60 Instruments ...............: all
61   - Instrument scale factors ..: unity
62 61 Observation identifiers ...: all
63 62 Model type ................: PointSource
64 63 Model components ..........: "PointSource" * "PowerLaw" * "Constant"
... ... @@ -74,13 +73,13 @@ Now let&#39;s append a model to this container. For this, type:
74 73 Normalization ............: 1 (relative value) (fixed,scale=1,gradient)
75 74  
76 75 With this sequence of commands you first defined a sky direction in
77   -celestial coordinates using ``GSkyDir``. You may recognise that this
  76 +celestial coordinates using :doxy:`GSkyDir`. You may recognise that this
78 77 is the position of the Crab. You then used this position to define the
79   -spatial component of a sky model using ``GModelSpatialPointSource``. As the name
  78 +spatial component of a sky model using :doxy:`GModelSpatialPointSource`. As the name
80 79 suggests, the spatial component is a point source. Next, you defined the
81   -spectral component using ``GModelSpactralPlaw``: a power law with
  80 +spectral component using :doxy:`GModelSpactralPlaw`: a power law with
82 81 normalisation of 1 and a spectral index of -2. Then, you combined the spatial
83   -and spectral components in a sky model using ``GModelSky``. And
  82 +and spectral components in a sky model using :doxy:`GModelSky`. And
84 83 finally you appended the sky model to the model container allocated
85 84 previously using the append method. When you then print the model
86 85 container you see that is contains now one model with 6 parameters.
... ... @@ -99,7 +98,7 @@ Suppose you want to change one of these parameters, such as the
99 98 >>> models[0]['PivotEnergy'].value(1e6)
100 99 >>> print(models)
101 100 ...
102   - PivotEnergy ..............: 1e+06 MeV (fixed,scale=100,gradient)
  101 + PivotEnergy ..............: 1000000 MeV (fixed,scale=100,gradient)
103 102 ...
104 103  
105 104 As the units are MeV, we had to specify a value of 1e6 to set the
... ...
doc/source/users/user_manual/manual/index.rst renamed to doc/source/users/tutorial/index.rst
1   -Users manual
2   -============
  1 +Tutorials
  2 +=========
3 3  
4 4 .. toctree::
5 5 :maxdepth: 2
6 6  
7   - intro
  7 + sky/index
8 8 linalg
... ...
doc/source/users/user_manual/manual/linalg.rst renamed to doc/source/users/tutorial/linalg.rst
doc/source/users/howto/sky/convert_coordinates.rst renamed to doc/source/users/tutorial/sky/convert_coordinates.rst
1   -.. _sec_sky_convert_coordinates:
2   -
3 1 How to convert a sky coordinate from celestial to Galactic?
4 2 ===========================================================
5 3  
... ...
doc/source/users/howto/sky/convert_projections.rst renamed to doc/source/users/tutorial/sky/convert_projections.rst
1   -.. _sec_sky_convert_projections:
2   -
3 1 How to convert sky map projections?
4 2 ===================================
5 3  
... ...
doc/source/users/howto/sky/index.rst renamed to doc/source/users/tutorial/sky/index.rst
1   -.. _sec_howto_sky:
2   -
3 1 Sky coordinates, sky maps and sky regions
4 2 -----------------------------------------
5 3  
... ...
doc/source/users/user_manual/getting.rst deleted
1   -.. _um_getting:
2   -
3   -Getting GammaLib
4   -================
5   -
6   -Before you start
7   -----------------
8   -
9   -The procedure for building and installing GammaLib is modeled on GNU software
10   -distributions. You do not need to have system administrator privileges
11   -to compile and to install GammaLib.
12   -
13   -You will need the following to build the software:
14   -
15   -- About 200 MB of free disk space.
16   -
17   -- An ANSI C++ compiler. We recommend building GammaLib with the GNU g++
18   - compiler.
19   -
20   -- GNU make
21   -
22   -- The cfitsio library for FITS file support together with the developer
23   - package that includes the ``cfitsio.h`` header.
24   -
25   -Note that GammaLib compiles also in the absence of the cfitsio library, yet
26   -without cfitsio, FITS file reading or writing is not supported.
27   -
28   -Furthermore, the following optional packages are supported but are not
29   -required to compile :
30   -
31   -- Python, including the Python developer package that includes the
32   - ``Python.h`` header file. If Python is present, the GammaLib Python module will
33   - be built and installed, allowing to script all GammaLib functionalities from
34   - within Python.
35   -
36   -- readline, including the readline developer package that provides the
37   - ``readline.h`` header file. If readline is present, the packages are used
38   - to enhance the user interface when entering parameters for ftools
39   - applications (see :ref:`this section <sec_app>`).
40   -
41   -If you plan to modify or to extend the GammaLib source code, the following
42   -software is also required on your system:
43   -
44   -- GNU `autoconf <http://www.gnu.org/software/autoconf/>`_ and `automake
45   - <http://www.gnu.org/software/automake/>`_ is needed to rebuild the
46   - configure script and ``Makefile.am`` resource files following
47   - configuration modifications.
48   -
49   -- `swig <http://www.swig.org/>`_ is needed to rebuild the Python wrappers
50   - following Python interface modifications. Make sure to install the
51   - latest swig version to guarantee the largest possible
52   - compatibility of the Python wrappers.
53   -
54   -- `Doxygen <http://www.doxygen.org/>`_ is needed to rebuild the software
55   - reference manual following code modifications.
56   -
57   -The following sections provide some information about the installation
58   -of cfitsio and readline.
59   -
60   -.. _sec_cfitsio:
61   -
62   -Installing cfitsio
63   -~~~~~~~~~~~~~~~~~~
64   -
65   -HEASARC's cfitsio library comes on many Linux distributions as
66   -pre-compiled binary, and there are good chances that the package is
67   -already installed on your system. For Mac OS X, cfitsio can be installed
68   -from `MacPorts <https://www.macports.org/>`_ or
69   -`Homebrew <http://brew.sh/>`_. If you use a pre-compiled binary, make sure
70   -that also the developer package is installed on your system. The developer
71   -package provides the ``cfitsio.h`` header file which is needed to compile
72   -in FITS file support in GammaLib. Please refer to the documentation of your
73   -Linux distribution to learn how to install pre-compiled binary packages (note
74   -that the installation of pre-compiled binary packages usually requires
75   -system administrator privileges).
76   -
77   -If you need (or prefer) to install cfitsio from source, you can download
78   -the latest source code from http://heasarc.gsfc.nasa.gov/fitsio.
79   -Detailed installation instructions can also be found on this site. We
80   -recommend that you install cfitsio as a shared library in the same
81   -directory in which you will install GammaLib, so that cfitsio is automatically
82   -found by the GammaLib configure script. By default, GammaLib gets installed
83   -into the directory ``/usr/local/gamma``.
84   -
85   -You can install version 3.290 of cfitsio (the version that was
86   -available when writing this manual) by executing the following command
87   -sequence ($ denotes the UNIX shell prompt)::
88   -
89   - $ wget ftp://heasarc.gsfc.nasa.gov/software/fitsio/c/cfitsio3290.tar.gz
90   - $ tar xfz cfitsio3290.tar.gz
91   - $ cd cfitsio
92   - $ ./configure --prefix=/usr/local/gamma
93   - $ make shared
94   - $ sudo make install
95   -
96   -The ``--prefix=/usr/local/gamma`` option specifies the directory into which
97   -cfitsio gets installed. We choose here the default GammaLib installation
98   -directory ``/usr/local/gamma``. As this directory is a system directory, we
99   -need to use sudo for installation. If you decide to install cfitsio into
100   -a local directory which is owned by yourself, it is sufficient to type
101   -make install to install the library.
102   -
103   -Installing readline
104   -~~~~~~~~~~~~~~~~~~~
105   -
106   -The readline package comes on all Linux distributions that are known to
107   -us as pre-compiled binary, and it is almost certain that readline is already
108   -installed on your system. Very often, however, the readline developer package
109   -that provides the readline.h header file is not installed, and you need to
110   -install this package yourself to enable readline support for GammaLib. Please
111   -refer to the documentation of your Linux distribution to learn how to
112   -install pre-compiled binary packages (note that the installation of
113   -pre-compiled binary packages usually requires system administrator
114   -privileges).
115   -
116   -If you need (or prefer) to install readline from source, you need also
117   -to install the ncurses library that is required by readline. Here is the
118   -command line sequence that will install ncurses (version 5.9) and
119   -readline (version 6.2) in the GammaLib default install directory
120   -``/usr/local/gamma`` from source::
121   -
122   - $ wget http://ftp.gnu.org/gnu/ncurses/ncurses-5.9.tar.gz
123   - $ tar xfz ncurses-5.9.tar.gz
124   - $ cd ncurses-5.9
125   - $ ./configure --prefix=/usr/local/gamma
126   - $ make
127   - $ sudo make install
128   - $ cd ..
129   - $ wget http://ftp.gnu.org/gnu/readline/readline-6.2.tar.gz
130   - $ tar xfz readline-6.2.tar.gz
131   - $ cd readline-6.2
132   - $ ./configure --prefix=/usr/local/gamma
133   - $ make
134   - $ sudo make install
135   -
136   -Note that ``sudo`` is only needed if you are not the owner of the install
137   -directory.
138   -
139   -Installing
140   -----------
141   -
142   -Downloading
143   -~~~~~~~~~~~
144   -
145   -You get the latest version of GammaLib :ref:`here <sec_download>`.
146   -
147   -.. _sec_configure:
148   -
149   -Configuring
150   -~~~~~~~~~~~
151   -
152   -Once you've downloaded and uncompressed GammaLib, step into the GammaLib
153   -source code directory and type ::
154   -
155   - $ ./configure
156   -
157   -to configure the library for compilation. Make sure that you type
158   -``./configure`` and not simply ``configure`` to ensure that the configuration
159   -script in the current directory is invoked and not some other
160   -system-wide configuration script.
161   -
162   -If you would like to install GammaLib in a different directory, use the optional
163   -``--prefix`` argument during the configuration step. For example ::
164   -
165   - $ ./configure --prefix=/home/myname/gamma
166   -
167   -installs GammaLib in the gamma directory that will be located in the user's
168   -myname home directory. You can obtain a full list of configuration
169   -options using ::
170   -
171   - $ ./configure --help
172   -
173   -If configuration was successful, the script will terminate with printing
174   -information about the configuration. This information is important in
175   -case that you encounter installation problems, and may help you to
176   -diagnose the problems. The typical output that you may see is as
177   -follows::
178   -
179   - GammaLib configuration summary
180   - ==============================
181   - * FITS I/O support (yes)
182   - * Readline support (yes)
183   - * Ncurses support (yes)
184   - * Developer configuration (yes)
185   - * Make Python binding (yes) use swig for updates
186   - * Python (yes)
187   - * Python.h (yes)
188   - * Python wrappers (yes)
189   - * swig (yes)
190   - * Multiwavelength interface (yes)
191   - * Fermi-LAT interface (yes)
192   - * CTA interface (yes)
193   - * COMPTEL interface (yes)
194   - * Doxygen (yes) /usr/local/bin/doxygen
195   - * Perform NaN/Inf checks (yes) (default)
196   - * Perform range checking (yes) (default)
197   - * Optimize memory usage (yes) (default)
198   - * Support legacy XML format (yes) (default)
199   - - Enable OpenMP (no)
200   - - Compile in debug code (no) (default)
201   - - Enable code for profiling (no) (default)
202   -
203   -The script informs whether cfitsio has been found (and eventually also
204   -gives the directories in which the cfitsio library and the header file
205   -resides), whether readline and ncurses have been found, and whether
206   -Python including the Python.h header file is available. Although none of
207   -these items is mandatory, we highly recommend to install cfitsio to
208   -support FITS file reading and writing (see :ref:`sec_cfitsio`), and
209   -to install Python to enable GammaLib scripting.
210   -
211   -If cfitsio is installed on your system but not found by the configure
212   -script, it may be located in a directory that is not known to the
213   -configure script. By default, configure will search for cfitsio (in the
214   -given order) in the GammaLib install directory, in all standard paths (e.g.
215   -``/usr/lib``, ``/usr/local/lib``, ...), and in some system specific locations,
216   -including ``/opt/local/lib`` for Mac OS X. Assuming that you installed
217   -cfitsio on your system in the directory ``/home/myname/cfitsio``, you may
218   -explicitly specify this location to configure using the ``LDFLAGS`` and
219   -``CPPFLAGS`` environment variables::
220   -
221   - $ ./configure LDFLAGS=-L/home/myname/cfitsio/lib CPPFLAGS=-I/home/myname/cfitsio/include
222   -
223   -Here, ``LDFLAGS`` specifies the path where the shared cfitsio library is
224   -located, while ``CPPFLAGS`` specifies the path where the ``cfitsio.h`` header
225   -file is located. Note that ``-L`` has to prefix the library path and that ``-I``
226   -has to prefix the header file path. With the same method, you may
227   -specify any non-standard location for the readline and ncurses
228   -libraries.
229   -
230   -The configuration script also checks for the presence of `swig <http://www.swig.org/>`_,
231   -which is used for building the Python wrapper files. Normally,
232   -`swig <http://www.swig.org/>`_ is not needed to create the Python bindings as the
233   -necessary wrapper files are shipped with the GammaLib source code. If you plan, however,
234   -to modify or to extend the Python interface, you will need `swig <http://www.swig.org/>`_
235   -to rebuild the Python wrappers following changes to the interface.
236   -
237   -The configuration summary informs also about all instrument dependent
238   -interfaces that will be compiled into the GammaLib library. By default, all
239   -available interfaces (multi-wavelength, Fermi/LAT, COMPTEL and CTA) will be
240   -compiled into GammaLib. If you wish to disable a particular interface, you may
241   -use the configure options ``--without-mwl``, ``--without-lat``,
242   -``--without-com`` or ``--without-cta``.
243   -For example, ::
244   -
245   - $ ./configure --without-mwl --without-lat --without-com
246   -
247   -will compile GammaLib without the multi-wavelength, the Fermi/LAT and
248   -the COMPTEL interfaces. In this case, only CTA data analysis will be supported.
249   -
250   -GammaLib uses `Doxygen <http://www.doxygen.org/>`_ for code documentation.
251   -In case that you want to install the reference manual also locally on your
252   -machine, `Doxygen <http://www.doxygen.org/>`_ is needed to create the reference
253   -manual from the source code. `Doxygen <http://www.doxygen.org/>`_ is
254   -also needed if you plan to modify or extend the GammaLib library to allow
255   -rebuilding the reference documentation after changes. Please read see
256   -:ref:`sec_doxygen` to learn how to build and to install the reference
257   -manual locally.
258   -
259   -Finally, there exist a number of options that define how exactly GammaLib
260   -will be compiled.
261   -
262   -By default, GammaLib makes use of OpenMP for multi-core processing. If you
263   -want to disable the multi-core processing, you may specify the
264   -``--disable-openmp`` option during configuration.
265   -
266   -Several methods are able to detect invalid floating point values (either
267   -``NaN`` or ``Inf``), and by default, these checks will be compiled in the
268   -library to track numerical problems. If you want to disable these
269   -checks, you may specify the ``--disable-nan-check`` option during
270   -configuration.
271   -
272   -Range checking is performed by default on all indices that are provided
273   -to methods or operators (such as vector or matrix element indices, sky
274   -pixels, event indices, etc.), at the expense of a small speed penalty
275   -that arises from these verifications. You may disable these range
276   -checkings by specifying the ``--disable-range-check`` option during
277   -configuration.
278   -
279   -In a few places there exists a trade-off between speed and memory
280   -requirements, and a choice has to be made whether faster execution or
281   -smaller memory allocation should be preferred. By default, smaller
282   -memory allocation is preferred by GammaLib, but if you are not concerned about
283   -memory allocation you may specify the ``--disable-small-memory`` option
284   -during configuration to speed up the code.
285   -
286   -If you develop code for GammaLib you may be interested in adding some special
287   -debugging code, and this debugging code can be compiled in the library
288   -by specifying the ``--enable-debug`` option during configuration. By default,
289   -no debugging code will be added to GammaLib.
290   -
291   -Another developer option concerns profiling, which may be of interest to
292   -optimize the execution time of your code. If you would like to add
293   -profiling information to the code (which will be at the expense of
294   -execution time), you may specify the ``--enable-profiling`` option during
295   -configuration, which adds the ``-pg`` flags to the compiler. By default,
296   -profiling is disabled for GammaLib.
297   -
298   -Mac OS X options
299   -^^^^^^^^^^^^^^^^
300   -
301   -The Mac OS X environment is special in that it supports different CPU
302   -architectures (intel, ppc) and different addressing schemes (32-bit and
303   -64-bit). To cope with different system versions and architectures, you
304   -can build a universal binary by using the option ::
305   -
306   - $ ./configure --enable-universalsdk[=PATH]
307   -
308   -The optional argument ``PATH`` specifies which OSX SDK should be used to
309   -perform the build. By default, the SDK ``/Developer/SDKs/MacOSX.10.4u.sdk``
310   -is used. If you want to build a universal binary on Mac OS X 10.5 or
311   -higher, and in particular if you build 64-bit code, you have to specify
312   -``--enable-universalsdk=/``.
313   -
314   -A second option (which is only valid in combination with the
315   -``--enable-universalsdk``) allows to specify the kind of universal build that
316   -should be created::
317   -
318   - $ ./configure --enable-universalsdk[=PATH] --with-univeral-archs=VALUE
319   -
320   -Possible options for ``VALUE`` are: ``32-bit``, ``3-way``, ``intel``, or ``all``. By
321   -default, a 32-bit build will be made.
322   -
323   -These options are in particular needed if your Python architecture
324   -differs from the default architecture of your system. To examine the
325   -Python architecture you may type::
326   -
327   - $ file `which python`
328   -
329   -which will return the architectures that are compiled in the Python
330   -executable::
331   -
332   - i386 32-bit intel
333   - ppc 32-bit powerpc
334   - ppc64 64-bit powerpc
335   - x86_64 64-bit intel
336   -
337   -If Python is 32-bit (``ppc``, ``i386``) but the compiler produces by default
338   -64-bit code (``ppc64``, ``x86_64``), the Python module will not work. Using ::
339   -
340   - $ ./configure --enable-universalsdk=/
341   -
342   -will force a universal 32-bit build which creates code for ``ppc`` and ``i386``
343   -architectures. If on the other hand Python is 64-bit (``ppc64``, ``x86_64``)
344   -but the compiler produces by default 32-bit code (``ppc``, ``i386``), the option ::
345   -
346   - $ ./configure --enable-universalsdk=/ --with-univeral-archs=3-way
347   -
348   -will generate a universal build which contains 32-bit and 64-bit code.
349   -
350   -Building
351   -~~~~~~~~
352   -
353   -Once configured you can build GammaLib by typing ::
354   -
355   - $ make
356   -
357   -This compiles all GammaLib code, including the Python wrappers, and builds the
358   -dynamic library and Python module.
359   -
360   -GammaLib building can profit from multi-processor or multi-core machines by
361   -performing parallel compilation of source code within the modules. You
362   -can enable this feature by typing ::
363   -
364   - $ make -j<n>
365   -
366   -where ``<n>`` is a number that should be twice the number of cores or
367   -processors that are available on your machine.
368   -
369   -In case that you rebuild GammaLib after changing the configuration, we recommend
370   -to clean the directory from any former build by typing ::
371   -
372   - $ make clean
373   -
374   -prior to make. This will remove all existing object and library files
375   -from the source code directory, allowing for a fresh clean build of the
376   -library.
377   -
378   -Testing
379   -~~~~~~~
380   -
381   -GammaLib comes with an extensive unit test that allows to validate the library
382   -prior to installation. We highly recommend to run this unit test
383   -before installing the library (see :ref:`sec_install`).
384   -
385   -To run the unit test type::
386   -
387   - $ make check
388   -
389   -This will start a test of all GammaLib modules by using dedicated executables
390   -which will print some progress and success information into the
391   -console. After completion of all tests (and assuming that all
392   -instrument dependent modules are enabled), you should see the following
393   -message in your console::
394   -
395   - ===================
396   - All 21 tests passed
397   - ===================
398   -
399   -(Note that the exact number of tests that is conducted depends on the
400   -configuration options).
401   -
402   -.. _sec_install:
403   -
404   -Installing
405   -~~~~~~~~~~
406   -
407   -GammaLib is finally installed by typing ::
408   -
409   - $ [sudo] make install
410   -
411   -By default, GammaLib is installed in the system directory ``/usr/local/gamma``,
412   -hence sudo needs to be prepended to enable writing in a system-level
413   -directory. If you install GammaLib, however, in a local directory of which you
414   -are the owner, or if you install GammaLib under root, you may simply specify
415   -make install to initiate the installation process.
416   -
417   -The installation step will copy all necessary files into the
418   -installation directory. Information will be copied in the following
419   -subdirectories:
420   -
421   -- ``bin`` contains GammaLib environment configuration scripts (see section
422   - [sec:environment])
423   -
424   -- ``include`` contains GammaLib header files (subdirectory gammalib)
425   -
426   -- ``lib`` contains the GammaLib library and Python module
427   -
428   -- ``share`` contains addition GammaLib information, such as a calibration database
429   - (subdirectory ``caldb``), documentation (subdirectory ``doc``), and Python
430   - interface definition files (subdirectory ``gammalib/swig``)
431   -
432   -.. _sec_environment:
433   -
434   -Setting up the GammaLib environment
435   -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
436   -
437   -Before using GammaLib you have to setup some environment variables. This will be
438   -done automatically by an initialisation script that has been installed
439   -in the bin subdirectory of the install directory. Assuming that you have
440   -installed GammaLib in the default directory ``/usr/local/gamma`` you need to
441   -add the following to your ``$HOME/.bashrc`` or ``$HOME/.profile`` script on a
442   -Linux machine::
443   -
444   - export GAMMALIB=/usr/local/gamma
445   - source $GAMMALIB/bin/gammalib-init.sh
446   -
447   -If you use C shell or a variant then add the following to your
448   -``$HOME/.cshrc`` or ``$HOME/.tcshrc`` script::
449   -
450   - setenv GAMMALIB /usr/local/gamma
451   - source $GAMMALIB/bin/gammalib-init.csh
452   -
453   -You then have to source your initialisation script by typing (for
454   -example) ::
455   -
456   - $ source $HOME/.bashrc
457   -
458   -and all environment variables are set correctly to use GammaLib properly.
459   -
460   -.. _sec_doxygen:
461   -
462   -Generating the reference documentation
463   -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
464   -
465   -The reference documentation for GammaLib is generated directly from the source
466   -code using the `Doxygen <http://www.doxygen.org/>`_ documentation system.
467   -The latest GammaLib reference manual can be found at
468   -http://cta.irap.omp.eu/gammalib/doxygen/.
469   -
470   -The reference documentation is not shipped together with the source code
471   -as this would considerably increase the size of the tarball. In case
472   -that you want to install the reference manual also locally on your
473   -machine, you first have to create the documentation using Doxygen.
474   -
475   -Assuming that Doxygen is available on your machine (see :ref:`sec_configure`)
476   -you can create the reference documentation by typing ::
477   -
478   - $ make doxygen
479   -
480   -Once created, you can install the reference manual by typing ::
481   -
482   - $ [sudo] make doxygen-install
483   -
484   -By default, GammaLib is installed in the system directory ``/usr/local/gamma``,
485   -hence sudo needs to be prepended to enable writing in a system-level
486   -directory. If you install , however, in a local directory of which you
487   -are the owner, or if you install GammaLib under root, you may simply specify
488   -make install to initiate the installation process.
489   -
490   -The reference manual will be installed in form of web-browsable HTML
491   -files into the folder ::
492   -
493   - /usr/local/gamma/share/doc/gammalib/html/doxygen
494   -
495   -You can access all web-based GammaLib documentation locally using
496   -``file:///usr/local/gamma/share/doc/gammalib/html/index.html`` (assuming
497   -that the GammaLib library has been installed in the default directory
498   -``/usr/local/gamma``).
499   -
500   -In addition, the reference manual will also be available as man pages
501   -that will be installed into ::
502   -
503   - /usr/local/gamma/share/doc/gammalib/man
504   -
505   -To access for example the information for the ``GApplication`` class, you
506   -can type ::
507   -
508   - $ man GApplication
509   -
510   -which then returns the synopsis and detailed documentation for the
511   -requested class.
doc/source/users/user_manual/index.rst
1   -.. _sec_user_manual:
  1 +.. _user_manual:
2 2  
3 3 ===========
4 4 User Manual
... ... @@ -7,11 +7,10 @@ User Manual
7 7 .. toctree::
8 8 :maxdepth: 1
9 9  
10   - introduction
11   - getting
  10 + scope
  11 + overview
12 12 modules/index
13 13 internals
14   - manual/index
15 14 glossary
16 15  
17 16  
... ...
doc/source/users/user_manual/internals.rst
1 1 Under the hood
2 2 ==============
3 3  
4   -.. _sec_registry:
5   -
6 4 Registry classes
7 5 ----------------
8 6  
... ...
doc/source/users/user_manual/manual/intro.rst deleted
1   -What is in this section?
2   -------------------------
3   -
4   -This section provides a detailed manual for using the various GammaLib
5   -modules.
doc/source/users/user_manual/introduction.rst renamed to doc/source/users/user_manual/overview.rst
1   -.. _um_intro:
2   -
3   -Introduction
4   -============
5   -
6   -Scope
7   ------
8   -
9   -This User Manual provides a complete description of the GammaLib C++ library
10   -and its Python module. It is equally well suited for beginners as for
11   -experienced users.
12   -
13 1 Overview
14   ---------
  2 +========
15 3  
16 4 GammaLib is a self-contained, instrument independent, open source,
17 5 multi-platform C++ library and Python module that implements all code
... ... @@ -43,7 +31,7 @@ are:
43 31 * Issue tracker: https://cta-redmine.irap.omp.eu/projects/gammalib/issues
44 32 * Documentation: http://cta.irap.omp.eu/gammalib/
45 33  
46   -The present document applies to GammaLib version 1.4.
  34 +The present document applies to GammaLib version 1.6.
47 35  
48 36 GammaLib is designed to compile on any POSIX compliant platform. So far,
49 37 GammaLib has been successfully compiled and tested on Mac OS X, OpenBSD, OpenSolaris
... ...
doc/source/users/user_manual/scope.rst 0 → 100644
  1 +Scope
  2 +=====
  3 +
  4 +This User Manual provides a complete description of the GammaLib C++ library
  5 +and its Python module. It is equally well suited for beginners as for
  6 +experienced users.
... ...