Skip to content

adonath/ctools

 
 

Repository files navigation

ctools information
==================
Version:             00-06-00 (December 21th, 2012)
Author:              Juergen Knodlseder (jurgen.knodlseder@irap.omp.eu)
GammaLib dependency: 00-07-00


License information
===================
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.


What's new in this release?
===========================
See the files "NEWS" and "ChangeLog".


What are the ctools anyway?
===========================
ctools are ftools-like executable for the scientific analysis of
CTA observations. They are based on GammaLib, a versatile toolbox 
for the high-level analysis of astronomical gamma-ray data.

The following tools are so far available:

    ctbin    - event binning
    ctlike   - maximum likelihood model fitting
    ctmodel  - generation of model counts map
    ctobssim - simulation of CTA observations
    ctselect - event selection
    ctskymap - CTA sky mapping tool


Web sites
=========
http://cta.irap.omp.eu/ctools                   - ctools documentation
https://cta-redmine.irap.omp.eu/projects/ctools - for ctools development
http://gammalib.sourceforge.net                 - for GammaLib documentation
https://sourceforge.net/projects/gammalib/      - for GammaLib downloads

Prerequisites
=============
ctools require GammaLib. Please refer to http://gammalib.sourceforge.net
for instructions about how to install GammaLib. The GammaLib code can
be downloaded from https://sourceforge.net/projects/gammalib/.

Once GammaLib is properly installed, make sure that you added the setup
script to your .bashrc or $HOME/.profile script:

    export GAMMALIB=/usr/local/gamma
    source $GAMMALIB/bin/gammalib-init.sh

If you use C shell or a variant then add the following to your
.cshrc or .tcshrc script:

    setenv GAMMALIB /usr/local/gamma
    source $GAMMALIB/bin/gammalib-init.csh

If you have installed GammaLib in another directory than /usr/local/gamma,
please adapt the path correspondingly.

If you really insist, you may install ctools in a directory different to
that hosting GammaLib, but we highly recommend to install both packages
together.


Unix Installation
=================
To build and install ctools, simply type the following:

     % ./configure
     % make
     % make install

By default ctools installs itself in /usr/local/gamma.  If you need to
install ctools in a different location or in your home directory, use
the --prefix option to ./configure.  For example:

     % ./configure --prefix=/home/yourname/projects
     % make
     % make install

The file INSTALL details more about using configure. Also try

     % ./configure --help.


Macintosh OS X Installation
============================
ctools is known to work on various flavors of OS X.  To cope with
different system versions and architectures, there are two Mac
specific configure options:

     % ./configure --enable-universalsdk[=PATH]

creates a universal build of ctools.  The optional argument specifies
which OSX SDK should be used to perform the build.  This defaults to
"/Developer/SDKs/MacOSX.10.4u.sdk".  Specify "/" when building on a 10.5
system or higher, especially when building 64-bit code.

     % ./configure --with-univeral-archs=VALUE

specifies the kind of universal build that should be created.  Possible
values are: "32-bit", "3-way", "intel" or "all".  By default, a "32-bit" 
build will be made.  This option is only valid when
"--enable-universalsdk" is specified.

These options are in particular needed if your Python architecture differs
from the default architecture of your system.  To examine the Python
architecture you may type:

     % file `which python`

which will return the architectures that are compiled in the Mach-0
executable:

     i386    32-bit intel
     ppc     32-bit powerpc
     ppc64   64-bit powerpc
     x86_64  64-bit intel

If Python is 32-bit (ppc, i386) but the compiler produces by default
64-bit code (ppc64, x86_64), the Python module will not work.  Using

     % ./configure --enable-universalsdk=/

will force a universal 32-bit build which creates code for ppc and 
i386.  If on the other hand Python is 64-bit (ppc64, x86_64) but the
compiler produces by default 32-bit code (ppc, i386), the option

     % ./configure --enable-universalsdk=/ --with-univeral-archs=3-way

will generate a universal build which contains 32-bit and 64-bit code.


Solaris Installation
====================
ctools compile on Solairs, but there is an issue with using it as a
shared library (see "Known problems" below).


Testing
=======
If you want to test ctools before installation, type the following:

     % make check


Getting started
===============
To be written ...


Documentation
=============
To be written ...


Bug reports
===========
To be written ...


Known problems
==============
Solaris
  Although ctools compile on Solaris using the Sun compiler, there are
  problems with global symbols in the shared GammaLib library that prevent
  the model registry to work correctly. Furthermore, GammaLib is not able
  to catch its own exceptions, which prevents the FITS interface to work
  correctly. Possible it will work using gcc on Solaris, yet this has not
  so far been tested.


Contact
=======
To get in touch with the ctools developers and to contribute to the
project please contact Juergen Knoedlseder <jurgen.knodlseder@irap.omp.eu>.