Commit 63480218a3165808f99f6b61a102e303f6bd1200

Authored by Jürgen Knödlseder
1 parent d83471ca

Update download, install, introduction and Known issues sections of User Documentation.

doc/source/download.rst
... ... @@ -13,14 +13,7 @@ bugs.
13 13 Releases
14 14 --------
15 15  
16   -The latest ctools release is ``ctools-0.9.0`` (22 May 2015).
17   -
18   -.. note::
19   -
20   - The cscripts in the Mac OS X binary package ctools-0.9.0-macosx10.3.dmg
21   - were not working. If you encounter a problem please download the updated
22   - binary package
23   - `ctools-0.9.1-macosx10.3.dmg <http://cta.irap.omp.eu/ctools/releases/ctools/ctools-0.9.1-macosx10.3.dmg>`_.
  16 +The latest ctools release is ``ctools-0.10.0`` (1 November 2015).
24 17  
25 18 Below a table of ctools releases. Please note that at this stage of the
26 19 project there is a strict link between the ctools and gammalib versions.
... ... @@ -35,6 +28,9 @@ gammalib.
35 28 * - `ctools <http://cta.irap.omp.eu/ctools/releases/ctools/ChangeLog>`_
36 29 - `gammalib <http://cta.irap.omp.eu/ctools/releases/gammalib/ChangeLog>`_
37 30 - Mac OS X package
  31 + * - `0.10.0 <http://cta.irap.omp.eu/ctools/releases/ctools/ctools-0.10.0.tar.gz>`_
  32 + - `0.11.0 <http://cta.irap.omp.eu/ctools/releases/gammalib/gammalib-0.11.0.tar.gz>`_
  33 + - `ctools-0.10.0-macosx10.3.dmg <http://cta.irap.omp.eu/ctools/releases/ctools/ctools-0.10.0-macosx10.3.dmg>`_
38 34 * - `0.9.0 <http://cta.irap.omp.eu/ctools/releases/ctools/ctools-0.9.0.tar.gz>`_
39 35 - `0.10.0 <http://cta.irap.omp.eu/ctools/releases/gammalib/gammalib-0.10.0.tar.gz>`_
40 36 - `ctools-0.9.1-macosx10.3.dmg <http://cta.irap.omp.eu/ctools/releases/ctools/ctools-0.9.1-macosx10.3.dmg>`_
... ... @@ -132,6 +128,9 @@ the following command sequence (the code will be installed into the
132 128 $ export CTOOLS=/usr/local/gamma
133 129 $ source $CTOOLS/bin/ctools-init.sh
134 130  
  131 +Please read the :ref:`sec_getting` section if you need more information on
  132 +how to install ctools.
  133 +
135 134 .. note::
136 135  
137 136 You need `swig <http://www.swig.org/>`_ on your system to build the
... ...
doc/source/issues.rst
... ... @@ -3,12 +3,17 @@
3 3 Known issues
4 4 ------------
5 5  
6   -Below you will find a list of known issues.
  6 +Below you will find a list of known ctools issues. You may also check the
  7 +list of
  8 +`known GammaLib issues <http://cta.irap.omp.eu/gammalib/doc/html/issues.html>`_.
7 9  
8 10 **Installation issues**
9 11  
10 12 - :ref:`Certificate problem when cloning from Git <issue_ssl>`
  13 +- :ref:`Python module does not work <issue_python>`
11 14 - :ref:`Python unit test fails on El Capitan <issue_elcapitan>`
  15 +- :ref:`Installing on Solaris <issue_solaris>`
  16 +- :ref:`Installing on OpenSolaris <issue_opensolaris>`
12 17  
13 18 **Analysis issues**
14 19  
... ... @@ -21,6 +26,7 @@ Below you will find a list of known issues.
21 26 - :ref:`Shell model is biased when width is comparable to angular resolution <issue_shell>`
22 27 - :ref:`Elliptical Gaussian model fit converges slowly <issue_egauss>`
23 28  
  29 +.. _installation_issues:
24 30  
25 31 Installation issues
26 32 ^^^^^^^^^^^^^^^^^^^
... ... @@ -38,6 +44,30 @@ Installation issues
38 44  
39 45 export GIT_SSL_NO_VERIFY=true
40 46  
  47 +.. _issue_python:
  48 +
  49 +.. topic:: Python module does not work
  50 +
  51 + ctools include a Python module that is built from so called wrapper
  52 + files that are autogenerated using the `swig <http://www.swig.org/>`_
  53 + tool. These wrapper files are shipped with a ctools release, but if
  54 + you use the code from git you need `swig <http://www.swig.org/>`_
  55 + to generate the wrapper files during the build step. In any case,
  56 + to compile the Python module ctools need the ``Python.h`` header file
  57 + which may not necessarily be installed on your system. Check the output
  58 + of ``./configure`` to examine the configuration that ctools has
  59 + detected. You may see the following::
  60 +
  61 + * Python (yes)
  62 + * Python.h (yes)
  63 + * swig (yes)
  64 + * Python wrappers (yes)
  65 +
  66 + Recall, if the wrappers exist you do not need `swig <http://www.swig.org/>`_,
  67 + but if the wrappers don't exist you need `swig <http://www.swig.org/>`_.
  68 + If the ``Python.h`` header file does not exist then install the Python
  69 + development package.
  70 +
41 71 .. _issue_elcapitan:
42 72  
43 73 .. topic:: Python unit test fails on El Capitan
... ... @@ -48,6 +78,38 @@ Installation issues
48 78 workaround is to install the ctools before running the unit test using
49 79 ``make check``.
50 80  
  81 +.. _issue_solaris:
  82 +
  83 +.. topic:: Installing on Solaris
  84 +
  85 + Although ctools build on Solaris using the Sun compiler, there are
  86 + problems with global symbols in shared libraries and exception catching,
  87 + which prevents the FITS interface to work correctly. ctools have however
  88 + been built and tested successfully using the GNU compiler, and this is
  89 + the only build method that is currently supported. Problems have also
  90 + been encountered when compiling cfitsio versions more recent than 3.250.
  91 + The problems have been reported to the cfitsio developer team, and are
  92 + likely to be solved in the future. For the time being, it is recommended
  93 + to use cfitsio version 3.250 on Solaris.
  94 +
  95 +.. _issue_opensolaris:
  96 +
  97 +.. topic:: Installing on OpenSolaris
  98 +
  99 + On OpenSolaris, the same problems concerning the SunStudio compiler
  100 + occur as for Solaris, and also here, the GNU compiler is the recommended
  101 + tool to build ctools. Also here, cfitsio version 3.250 is the recommended
  102 + library as more recent version feature relocation problems. ctools have
  103 + been tested using gcc 4.3.2 on OpenSolaris 2009.06. Make sure to create
  104 + the symbolic links
  105 +
  106 + .. code-block:: csh
  107 +
  108 + $ ln -s /usr/bin/gcc4.3.2 /usr/bin/gcc
  109 + $ ln -s /usr/bin/g++4.3.2 /usr/bin/g++
  110 +
  111 + which are not there by default. This avoids warnings during compilation.
  112 +
51 113  
52 114 Analysis issues
53 115 ^^^^^^^^^^^^^^^
... ...
doc/source/user_manual/getting.rst
  1 +.. _sec_getting:
  2 +
1 3 Getting the ctools
2 4 ==================
3 5  
... ... @@ -25,6 +27,8 @@ software:
25 27 No system administrator privileges are needed to install ctools.
26 28  
27 29  
  30 +.. _sec_installing_gammalib:
  31 +
28 32 Installing gammalib
29 33 -------------------
30 34  
... ... @@ -59,7 +63,7 @@ in an appropriate location (for example ``$HOME/builds``), and type
59 63  
60 64 .. code-block:: bash
61 65  
62   - $ tar xvfz gammalib-0.10.0.tar.gz
  66 + $ tar xvfz gammalib-0.11.0.tar.gz
63 67  
64 68 (the ``$`` symbol indicates the console prompt and is not part of the
65 69 command that you should type in).
... ... @@ -69,7 +73,7 @@ typing
69 73  
70 74 .. code-block:: bash
71 75  
72   - $ cd gammalib-0.10.0
  76 + $ cd gammalib-0.11.0
73 77 $ ./configure
74 78 $ make
75 79 $ make check
... ... @@ -91,6 +95,8 @@ which then installs GammaLib in the ``gamma`` folder of your home
91 95 directory.
92 96  
93 97  
  98 +.. _sec_setup_gammalib:
  99 +
94 100 Setting up the GammaLib environment
95 101 -----------------------------------
96 102  
... ... @@ -127,7 +133,7 @@ an appropriate location (for example ``$HOME/builds``), and type
127 133  
128 134 .. code-block:: bash
129 135  
130   - $ tar xvfz ctools-0.9.0.tar.gz
  136 + $ tar xvfz ctools-0.10.0.tar.gz
131 137  
132 138 (the ``$`` symbol indicates the console prompt and is not part of the
133 139 command that you should type in).
... ... @@ -136,7 +142,7 @@ Step in the directory and build the ctools by typing
136 142  
137 143 .. code-block:: bash
138 144  
139   - $ cd ctools-0.9.0
  145 + $ cd ctools-0.10.0
140 146 $ ./configure
141 147 $ make
142 148  
... ... @@ -153,6 +159,8 @@ You can get the full list of configuration options by typing
153 159 $ ./configure --help
154 160  
155 161  
  162 +.. _sec_testing_ctools:
  163 +
156 164 Testing ctools
157 165 --------------
158 166  
... ... @@ -173,7 +181,7 @@ following output at the end of the unit testing:
173 181 PASS: test_python.py
174 182 make[4]: Nothing to be done for `all'.
175 183 ============================================================================
176   - Testsuite summary for ctools 0.9.0
  184 + Testsuite summary for ctools 0.10.0
177 185 ============================================================================
178 186 # TOTAL: 3
179 187 # PASS: 3
... ... @@ -204,6 +212,7 @@ For older automake version, you should see
204 212 Test ctcubemask: .. ok
205 213 Test ctbutterfly: .. ok
206 214 Test ctulimit: .. ok
  215 + Test cterror: .. ok
207 216 PASS: test_ctools.sh
208 217  
209 218 *****************
... ... @@ -237,6 +246,7 @@ For older automake version, you should see
237 246 Test ctcubemask functionality: ... ok
238 247 Test ctbutterfly functionality: ... ok
239 248 Test ctulimit functionality: ... ok
  249 + Test cterror functionality: ... ok
240 250 Test unbinned pipeline with FITS file saving: .... ok
241 251 Test unbinned in-memory pipeline: .... ok
242 252 PASS: test_python.py
... ... @@ -254,14 +264,17 @@ versions, but there it is written in log files that you can find in the
254 264 test_cscripts.sh.log
255 265 test_python.py.log
256 266  
257   -If you do not see the same output, but a failure message, please report
258   -this to the ctools developer team.
  267 +If you do not see the same output, but a failure message, please check
  268 +first the :ref:`issues` section. If you cannot fix the problem, please
  269 +create an issue on the ctools tracker
  270 +`here <https://cta-redmine.irap.omp.eu/projects/ctools>`_.
259 271  
  272 +.. _sec_installing_ctools:
260 273  
261 274 Installing ctools
262 275 -----------------
263 276  
264   -The ctools are installed by typing
  277 +Now you are ready to install the ctools by typing
265 278  
266 279 .. code-block:: bash
267 280  
... ... @@ -284,13 +297,14 @@ can be given, for example:
284 297  
285 298 $ ./configure --prefix=$HOME/gamma
286 299  
  300 +.. _sec_setup_ctools:
287 301  
288 302 Setting up the ctools environment
289 303 ---------------------------------
290 304  
291 305 You have to configure ctools by setting up some environment variables. This
292 306 will be done automatically by an initialisation script that is found in the
293   -``bin`` directory of the directory into which ctools has been installed.
  307 +``bin`` directory of the ctools installation.
294 308 Assuming that you have installed ctools into ``/usr/local/gamma`` you need
295 309 to add the following to your ``$HOME/.bashrc`` or ``$HOME/.profile`` script
296 310 on a Linux machine:
... ... @@ -308,13 +322,14 @@ If you use C shell or a variant then add the following to your
308 322 setenv CTOOLS /usr/local/gamma
309 323 source $CTOOLS/bin/ctools-init.csh
310 324  
  325 +.. _sec_check_ctools_setup:
311 326  
312 327 Checking your setup
313 328 -------------------
314 329  
315 330 Now you should be ready to get started using Gammalib and ctools.
316 331  
317   -As a quick check that your setup is OK, you can run ``csinfo check``:
  332 +As a quick check that your setup is okay you can run ``csinfo check``:
318 333  
319 334 .. code-block:: bash
320 335  
... ... @@ -329,7 +344,7 @@ As a quick check that your setup is OK, you can run ``csinfo check``:
329 344  
330 345 ===> Your Gammalib / ctools setup is OK.
331 346  
332   -If the setup is not OK, run the ``csinfo info`` command to print
  347 +If the setup is not okay, run the ``csinfo info`` command to print
333 348 detailed information about your setup.
334 349 There's also a ``csinfo list`` command to quickly list the available tools:
335 350  
... ... @@ -345,89 +360,16 @@ There&#39;s also a ``csinfo list`` command to quickly list the available tools:
345 360 csinfo info Print Gammalib / ctools setup info
346 361  
347 362  
  363 +.. _sec_known_problems:
  364 +
348 365 Known problems
349 366 --------------
350 367  
351   -GammaLib unit tests fail
352   -~~~~~~~~~~~~~~~~~~~~~~~~
353   -
354   -Some users have reported failure of a large fraction of the GammaLib unit
355   -tests after after typing ``make check``. In all cases, this was related to
356   -not finding the ``libcfitsio`` library. To solve the issue, locate the
357   -directory where the shared ``libcfitsio`` library resides and then type
358   -
359   -.. code-block:: bash
360   -
361   - export LD_LIBRARY_PATH=/directory/to/lib:$LD_LIBRARY_PATH
362   -
363   -on Unix based systems or
364   -
365   -.. code-block:: bash
366   -
367   - export DYLD_LIBRARY_PATH=/directory/to/lib:$DYLD_LIBRARY_PATH
368   -
369   -on Mac OS X (``/directory/to/lib`` should be replaced by the correct
370   -library path on your system).
371   -
372   -
373   -Python support
374   -~~~~~~~~~~~~~~
375   -
376   -ctools comes with Python wrappers so that all classes can be directly
377   -used from Python. To compile-in Python support, ctools needs the
378   -``Python.h`` header file, which on many distributions is not installed
379   -by default. To make ``Python.h`` available, install the Python developer
380   -package in your distribution. Otherwise you will not be able to use ctools
381   -from Python.
382   -
383   -GammaLib and ctools release bundles come with Python wrapper files, but
384   -these wrapper files will be deleted once you type ``make clean``. Wrapper
385   -files will be built automatically when needed, but this required
386   -`swig <http://www.swig.org/>`_ installed on your system. In that case,
387   -please make sure that you swig version 2.0.4 or newer.
388   -
389   -
390   -Mac OS X
391   -~~~~~~~~
392   -
393   -The Python development package is not installed by default on Mac OS X,
394   -and consequently, the ``Python.h`` header file is missing that is needed
395   -to compile in the Python bindings. The configure script recognises this
396   -fact and adjust the build procedure accordingly, but you will not be able
397   -to use ctools as a Python module. So better install the Python development
398   -package before installing ctools.
399   -
400   -It was also reported that adding of
401   -``export MACOSX_DEPLOYMENT_TARGET=10.6`` to the ``.bashrc`` file was
402   -necessary one some Mac OS X 10.6 installations to make ctools compile.
403   -
404   -
405   -Solaris
406   -~~~~~~~
407   -
408   -Although ctools builds on Solaris using the Sun compiler, there are problems
409   -with global symbols in shared libraries and exception catching, which prevents
410   -the FITS interface to work correctly. ctools has however been built and tested
411   -successfully using the GNU compiler, and this is the only build method that
412   -is currently supported. Problems have also been encountered when compiling
413   -cfitsio versions more recent than 3.250. The problems have been reported to
414   -the cfitsio developer team, and are likely to be solved in the future. For
415   -the time being, it is recommended to use cfitsio version 3.250 on Solaris.
416   -
417   -
418   -OpenSolaris
419   -~~~~~~~~~~~
420   -
421   -On OpenSolaris, the same problems concerning the SunStudio compiler occur
422   -as for Solaris, and also here, the GNU compiler is the recommended tool to
423   -build ctools. Also here, cfitsio version 3.250 is the recommended library as
424   -more recent version feature relocation problems. ctools has been tested
425   -using gcc 4.3.2 on OpenSolaris 2009.06. Make sure to create the symbolic
426   -links
427   -
428   -.. code-block:: csh
429   -
430   - $ ln -s /usr/bin/gcc4.3.2 /usr/bin/gcc
431   - $ ln -s /usr/bin/g++4.3.2 /usr/bin/g++
432   -
433   -which are not there by default to avoid excess warnings during compilation.
434 368 \ No newline at end of file
  369 +In case you encounter problem, please check the list of known
  370 +:ref:`installation_issues`.
  371 +If you encounter problems during the GammaLib installation, please
  372 +check the list of
  373 +`known GammaLib issues <http://cta.irap.omp.eu/gammalib/doc/html/issues.html>`_.
  374 +If you cannot solve your problems, please create an issue on the
  375 +ctools tracker
  376 +`here <https://cta-redmine.irap.omp.eu/projects/ctools>`_.
... ...
doc/source/user_manual/introduction.rst
  1 +.. _sec_introduction:
  2 +
1 3 Introduction
2 4 ============
3 5  
4   -ctools is a highly modular collection of utilities for processing
5   -and analysing CTA reconstructed event data in the FITS (Flexible
6   -Image Transport System) data format. Each utility presents itself
7   -as a FTOOL (see http://heasarc.gsfc.nasa.gov/ftools/) and performs
8   -a single simple task such as event binning, event selection or model
9   -fitting. Individual utilities can easily be chained together in
10   -scripts to achieve more complex operations, either by using the command
11   -line interface, or by using the Python scripting language. The ctools
12   -user interface is controlled by standard IRAF-style parameter files.
13   -Software is written in C++ to provide portability across most computer
14   -systems. The data format dependencies between hardware platforms are
15   -isolated through the cfitsio library package from HEASARC
16   -(http://heasarc.gsfc.nasa.gov/fitsio/).
17   -
18   -This User Manual describes the use of the ctools software.
19 6 \ No newline at end of file
  7 +ctools is a software package developed for the scientific analysis of
  8 +Cherenkov Telescope Array (CTA) data or any other Imaging Air Cherenkov
  9 +Telescope. ctools comprises a set of ftools-like binary executables,
  10 +written in C++, with a command-line interface allowing for interactive
  11 +step-wise data analysis. To start a ctool from the command line, simply
  12 +type the name of the ctool:
  13 +
  14 +.. code-block:: bash
  15 +
  16 + $ ctobssim
  17 + RA of pointing (degrees) (0-360) [83.63]
  18 +
  19 +The ctool will query all user parameters and execute. User parameters can
  20 +also be specified as arguments separated by a whitespace to the ctool:
  21 +
  22 +.. code-block:: bash
  23 +
  24 + $ ctobssim ra=83.63 dec=22.01 rad=5.0 tmin=0 tmax=1800 emin=0.1 emax=100.0 caldb=prod2 irf=South_50h inmodel=$CTOOLS/share/models/crab.xml outevents=events.fits
  25 +
  26 +ctools includes also a Python module that declares every ctool as a
  27 +Python class. The following example illustrates the usage:
  28 +
  29 +.. code-block:: bash
  30 +
  31 + $ python
  32 + >>> import ctools
  33 + >>> sim = ctools.ctobssim()
  34 + >>> sim["ra"] = 83.63
  35 + >>> sim["dec"] = 22.01
  36 + >>> sim.execute()
  37 + Radius of FOV (degrees) (0-180) [5.0]
  38 +
  39 +ctools comprise also cscripts, which are Python scripts that have the same
  40 +user interface as the ctools binaries. cscripts can be started from the
  41 +command line or used as Python classes, as illustrated below:
  42 +
  43 +.. code-block:: bash
  44 +
  45 + $ python
  46 + >>> import cscripts
  47 + >>> pull = cscripts.cspull()
  48 +
  49 +In this User Manual you will now learn how to install and use the ctools
  50 +package.
  51 +If you encounter any problems, please read the :ref:`issues` section.
  52 +If you're desperate, you may need :ref:`help`.
  53 +And you should read the :ref:`develop` section if you would like to
  54 +contribute to the ctools developments.
... ...