diff --git a/NEWS b/NEWS index b0acf53..881552b 100644 --- a/NEWS +++ b/NEWS @@ -1 +1,130 @@ -This is the first public release of the GammaLib. \ No newline at end of file +New Features and Important Changes in GammaLib 00-04-05 + +Author(s) : Juergen Knoedlseder + +January 31, 2011 + + +1. Introduction +--------------- +This document briefly summarizes module by module the most important changes +made since the last release of GammaLib. + + +2. Configuration +----------------- +The GammaLib configuration procedure has been improved. Now, installation +follows the standard GNU procedure +> ./configure +> make +> make check +> make install + +swig is no longer required to create python bindings. The corresponding wraper +files are now shipped with the code and automatically recognised by the +configuration script. + +Remove the --with-cfitsio-lib-dir option, as this is not GNU standard. Use +LDFLAGS='-L/...' and CPPFLAGS='-I/...' instead to specify the corresponding +directories. + +Configure does not halt anymore if cfitsio and/or readline do not exist. A +summary of the GammaLib configuration is dumped at the end of configuration +to the screen. + +The autogen.sh script is now removed from the release. + + +2. Application module +--------------------- +None + + +3. FITS I/O Interface +--------------------- +None + + +4. Linear algebra module +------------------------ +None + + +5. Model module +--------------- +The general structure of a model has been considerably reworked. + +GModel is now an abstract base class for any kind of model. Before it was an +implemented class that only handled factorized sky models. + +The original GModel class has been renamed to GModelSky and has also been made +an abstract base class. Two derived classes have been added that provide now +the implementations of factorized sky models: GModelPointSource for point +sources, and GModelDiffuseSource for diffuse models. + +An additional abstract base class named GModelData has been added to provide +the interface for general data models. + +Registry classes have been added that allow to register new model components, +even if they are not linked into GammaLib. Support has been added that these +registries are used for reading model information from an XML file. Thus, new +models can now be linked externally to GammaLib and will be automatically +recognised. + + +6. Numerics module +------------------ +None + + +7. Observation module +--------------------- +None + + +8. Optimization module +---------------------- +None + + +9. Sky module +------------- +None + + +10. Support module +------------------ +None + + +11. XML module +-------------- +None + + +12. Multi-wavelength interface +------------------------------ +None + + +13. Fermi-LAT interface +----------------------- +None + + +14. CTA interface +----------------- +Added a radial acceptance model named GCTAModelRadialAcceptance as a derived +class of the abstract GModelData class. This model provides a representation +of the CTA radial acceptance that is factorised in a radial function and a +spectral function. + +An abstract radial acceptance function base class GCTAModelRadial has been +added, as well as a corresponding registry GCTAModelRadialRegistry. This allows +now to define arbitrary radial acceptance models for CTA. + +As a first dummy model, a Gaussian (in offset squared) radial acceptance model +has been implemented in GCTAModelRadialGauss. The model also supports the mc() +for simulating CTA background events. + + diff --git a/README b/README index 29fbdb3..ff14565 100644 --- a/README +++ b/README @@ -1,22 +1,21 @@ -This is GammaLib version 0.4.4 -============================== +GammaLib information +==================== +Version: 00-04-05 (January 31, 2011) +Author: Juergen Knodlseder (knodlseder@cesr.fr) License information -------------------- - +=================== To be written ... What's new in this release? ---------------------------- - -See the file "NEWS". +=========================== +See the files "NEWS" and "ChangeLog". What is the GammaLib anyway? ----------------------------- - +============================ The GammaLib is a vesatile toolbox for the high-level analysis of astronomical gamma-ray data. It is implemented as a C++ library that is fully scriptable in the Python scripting language. The library @@ -30,29 +29,147 @@ data analysis framework that enables simultaneous multi-mission analysis. Web sites ---------- +========= +http://gammalib.sourceforge.net - for documentation +https://sourceforge.net/projects/gammalib/ - for downloads -http://gammalib.sourceforge.net +Prerequisites +============= +GammaLib should compile on every modern Unix system without any need +to install other libraries. -Bug reports ------------ +To enable support for FITS file handling, however, the cfitsio library +from HEASARC needs to be installed. cfitsio can be downloaded from +http://heasarc.gsfc.nasa.gov/fitsio and detailed installation instructions +can be found there. If cfitsio does not already exist on your system, +we recommend installation of cfitsio in the default GammaLib install +directory as a shared library by typing: + + % ./configure --prefix=/usr/local/gamma + % make shared + % make install + +GammaLib can also benefit from the presence of the readline library +that provides line-editing and history capabilities for text input +(GammaLib offers however also full functionality without having +readline installed). readline can be downloaded from +http://ftp.gnu.org/gnu/readline/ + + +Unix Installation +================= +To build and install GammaLib, simply type the following: + + % ./configure + % make + % make install + +By default GammaLib installs itself in /usr/local/gamma. If you need to +install GammaLib 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 +============================ +GammaLib is known to work on various flavors of OS X. Follow the Unix +installation instructions above. + + +Solaris Installation +==================== +GammaLib compiles on Solairs, but there is an issue with using it as a +shared library (see "Known problems" below). + + +Testing +======= +If you want to test GammaLib before installation, type the following: + + % make check + +Setting up your environment +=========================== +Before using GammaLib you have to setup some environment variables. +Assuming that you have installed GammaLib in the default directory +/usr/local/gamma you need to add the following to your .bashrc or +$HOME/.profile script on a Linux machine: + + export PYTHONPATH=/usr/local/gamma/lib/python2.5/site-packages:$PYTHONPATH + export LD_LIBRARY_PATH=/usr/local/gamma/lib:$LD_LIBRARY_PATH + +Please adapt the Python version (python2.5 in this example) to the +version available on your machine. + +On Mac OS X you have to change LD_LIBRARY_PATH to DYLD_LIBRARY_PATH: + + export PYTHONPATH=/usr/local/gamma/lib/python2.5/site-packages:$PYTHONPATH + export DYLD_LIBRARY_PATH=/usr/local/gamma/lib:$DYLD_LIBRARY_PATH + +And if you use C shell or a variant, add the following to your +.cshrc or .tcshrc script: + + setenv PYTHONPATH /usr/local/gamma/lib/python2.5/site-packages:$PYTHONPATH + setenv LD_LIBRARY_PATH /usr/local/gamma/lib:$LD_LIBRARY_PATH + + +Getting started +=============== +The easiest way to start with GammaLib is by using the python interface. +To start, type the following: + + % python + >>> from gammalib import * + >>> models=GModels() + >>> print models + === GModels === + Number of models ..........: 0 + Number of parameters ......: 0 + +This examples allocates an empty GModels object that holds a collection +of models. + +For examples, inspect the test directory, and the test directories +of the instrument specific interfaces, e.g. inst/mwl/test, inst/lat/test, +and inst/cat/test. + + +Documentation +============= +The doc directory contains the most recent set of updated documentation +for this release. The documentation is available in PDF format. + +This is a development release and the documentation is largely, but +not entirely up to date. We are working on it. Please be patient or +volunteer to help. + + +Bug reports +=========== To report or search for bugs, please use the GammaLib Bug Tracker at https://sourceforge.net/tracker/?group_id=282143&atid=1196795. Known problems --------------- - -SWIG 1.3.33 - The definition of the GTimes vector using std_vector.i leads to warnings - during creation of the C++ python wrapper using swig. These warnings are - however not preventing compilation of the code +============== +Solaris + Although GammaLib compiles on Solaris using the Sun compiler, there are + problems with global symbols in the shared 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. If GammaLib is linked statically Contact -------- - +======= To get in touch with the GammaLib developers and to contribute to the project please contact Juergen Knoedlseder . diff --git a/configure.ac b/configure.ac index a3dd2ff..641e756 100644 --- a/configure.ac +++ b/configure.ac @@ -5,12 +5,12 @@ # # GammaLib 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, or (at your option) any +# Free Software Foundation; either version 2, or (at your option) any # later version. # # Process this file with autoconf to produce a configure script -AC_INIT([GammaLib], [0.4.4], [knodlseder@cesr.fr], [gammalib], [http://gammalib.sourceforge.net/]) +AC_INIT([GammaLib], [0.4.5], [knodlseder@cesr.fr], [gammalib], [http://gammalib.sourceforge.net/]) AC_CONFIG_SRCDIR([src/support/GTools.cpp]) AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([gnu no-dependencies]) diff --git a/gammalib.pc.in b/gammalib.pc.in index 56bf01d..de72249 100644 --- a/gammalib.pc.in +++ b/gammalib.pc.in @@ -5,6 +5,6 @@ includedir=${prefix}/include Name: GammaLib Description: Versatile toolbox for analysis of astronomical gamma-ray data -Version: 0.4 +Version: 0.4.5 Libs: -L${libdir} -lgamma @LIBS@ -lm Cflags: -I${includedir}/gammalib