Commit 94e76272ce046b35d56d73dfea91be1e0304baca
1 parent
8f066a1f
update for release 00-04-05
Showing
4 changed files
with
271 additions
and
25 deletions
NEWS
| 1 | -This is the first public release of the GammaLib. | ||
| 2 | \ No newline at end of file | 1 | \ No newline at end of file |
| 2 | +New Features and Important Changes in GammaLib 00-04-05 | ||
| 3 | + | ||
| 4 | +Author(s) : Juergen Knoedlseder | ||
| 5 | + | ||
| 6 | +January 31, 2011 | ||
| 7 | + | ||
| 8 | + | ||
| 9 | +1. Introduction | ||
| 10 | +--------------- | ||
| 11 | +This document briefly summarizes module by module the most important changes | ||
| 12 | +made since the last release of GammaLib. | ||
| 13 | + | ||
| 14 | + | ||
| 15 | +2. Configuration | ||
| 16 | +----------------- | ||
| 17 | +The GammaLib configuration procedure has been improved. Now, installation | ||
| 18 | +follows the standard GNU procedure | ||
| 19 | +> ./configure | ||
| 20 | +> make | ||
| 21 | +> make check | ||
| 22 | +> make install | ||
| 23 | + | ||
| 24 | +swig is no longer required to create python bindings. The corresponding wraper | ||
| 25 | +files are now shipped with the code and automatically recognised by the | ||
| 26 | +configuration script. | ||
| 27 | + | ||
| 28 | +Remove the --with-cfitsio-lib-dir option, as this is not GNU standard. Use | ||
| 29 | +LDFLAGS='-L/...' and CPPFLAGS='-I/...' instead to specify the corresponding | ||
| 30 | +directories. | ||
| 31 | + | ||
| 32 | +Configure does not halt anymore if cfitsio and/or readline do not exist. A | ||
| 33 | +summary of the GammaLib configuration is dumped at the end of configuration | ||
| 34 | +to the screen. | ||
| 35 | + | ||
| 36 | +The autogen.sh script is now removed from the release. | ||
| 37 | + | ||
| 38 | + | ||
| 39 | +2. Application module | ||
| 40 | +--------------------- | ||
| 41 | +None | ||
| 42 | + | ||
| 43 | + | ||
| 44 | +3. FITS I/O Interface | ||
| 45 | +--------------------- | ||
| 46 | +None | ||
| 47 | + | ||
| 48 | + | ||
| 49 | +4. Linear algebra module | ||
| 50 | +------------------------ | ||
| 51 | +None | ||
| 52 | + | ||
| 53 | + | ||
| 54 | +5. Model module | ||
| 55 | +--------------- | ||
| 56 | +The general structure of a model has been considerably reworked. | ||
| 57 | + | ||
| 58 | +GModel is now an abstract base class for any kind of model. Before it was an | ||
| 59 | +implemented class that only handled factorized sky models. | ||
| 60 | + | ||
| 61 | +The original GModel class has been renamed to GModelSky and has also been made | ||
| 62 | +an abstract base class. Two derived classes have been added that provide now | ||
| 63 | +the implementations of factorized sky models: GModelPointSource for point | ||
| 64 | +sources, and GModelDiffuseSource for diffuse models. | ||
| 65 | + | ||
| 66 | +An additional abstract base class named GModelData has been added to provide | ||
| 67 | +the interface for general data models. | ||
| 68 | + | ||
| 69 | +Registry classes have been added that allow to register new model components, | ||
| 70 | +even if they are not linked into GammaLib. Support has been added that these | ||
| 71 | +registries are used for reading model information from an XML file. Thus, new | ||
| 72 | +models can now be linked externally to GammaLib and will be automatically | ||
| 73 | +recognised. | ||
| 74 | + | ||
| 75 | + | ||
| 76 | +6. Numerics module | ||
| 77 | +------------------ | ||
| 78 | +None | ||
| 79 | + | ||
| 80 | + | ||
| 81 | +7. Observation module | ||
| 82 | +--------------------- | ||
| 83 | +None | ||
| 84 | + | ||
| 85 | + | ||
| 86 | +8. Optimization module | ||
| 87 | +---------------------- | ||
| 88 | +None | ||
| 89 | + | ||
| 90 | + | ||
| 91 | +9. Sky module | ||
| 92 | +------------- | ||
| 93 | +None | ||
| 94 | + | ||
| 95 | + | ||
| 96 | +10. Support module | ||
| 97 | +------------------ | ||
| 98 | +None | ||
| 99 | + | ||
| 100 | + | ||
| 101 | +11. XML module | ||
| 102 | +-------------- | ||
| 103 | +None | ||
| 104 | + | ||
| 105 | + | ||
| 106 | +12. Multi-wavelength interface | ||
| 107 | +------------------------------ | ||
| 108 | +None | ||
| 109 | + | ||
| 110 | + | ||
| 111 | +13. Fermi-LAT interface | ||
| 112 | +----------------------- | ||
| 113 | +None | ||
| 114 | + | ||
| 115 | + | ||
| 116 | +14. CTA interface | ||
| 117 | +----------------- | ||
| 118 | +Added a radial acceptance model named GCTAModelRadialAcceptance as a derived | ||
| 119 | +class of the abstract GModelData class. This model provides a representation | ||
| 120 | +of the CTA radial acceptance that is factorised in a radial function and a | ||
| 121 | +spectral function. | ||
| 122 | + | ||
| 123 | +An abstract radial acceptance function base class GCTAModelRadial has been | ||
| 124 | +added, as well as a corresponding registry GCTAModelRadialRegistry. This allows | ||
| 125 | +now to define arbitrary radial acceptance models for CTA. | ||
| 126 | + | ||
| 127 | +As a first dummy model, a Gaussian (in offset squared) radial acceptance model | ||
| 128 | +has been implemented in GCTAModelRadialGauss. The model also supports the mc() | ||
| 129 | +for simulating CTA background events. | ||
| 130 | + | ||
| 131 | + |
README
| 1 | -This is GammaLib version 0.4.4 | ||
| 2 | -============================== | 1 | +GammaLib information |
| 2 | +==================== | ||
| 3 | +Version: 00-04-05 (January 31, 2011) | ||
| 4 | +Author: Juergen Knodlseder (knodlseder@cesr.fr) | ||
| 3 | 5 | ||
| 4 | 6 | ||
| 5 | License information | 7 | License information |
| 6 | -------------------- | ||
| 7 | - | 8 | +=================== |
| 8 | To be written ... | 9 | To be written ... |
| 9 | 10 | ||
| 10 | 11 | ||
| 11 | What's new in this release? | 12 | What's new in this release? |
| 12 | ---------------------------- | ||
| 13 | - | ||
| 14 | -See the file "NEWS". | 13 | +=========================== |
| 14 | +See the files "NEWS" and "ChangeLog". | ||
| 15 | 15 | ||
| 16 | 16 | ||
| 17 | What is the GammaLib anyway? | 17 | What is the GammaLib anyway? |
| 18 | ----------------------------- | ||
| 19 | - | 18 | +============================ |
| 20 | The GammaLib is a vesatile toolbox for the high-level analysis of | 19 | The GammaLib is a vesatile toolbox for the high-level analysis of |
| 21 | astronomical gamma-ray data. It is implemented as a C++ library | 20 | astronomical gamma-ray data. It is implemented as a C++ library |
| 22 | that is fully scriptable in the Python scripting language. The library | 21 | that is fully scriptable in the Python scripting language. The library |
| @@ -30,29 +29,147 @@ data analysis framework that enables simultaneous multi-mission analysis. | @@ -30,29 +29,147 @@ data analysis framework that enables simultaneous multi-mission analysis. | ||
| 30 | 29 | ||
| 31 | 30 | ||
| 32 | Web sites | 31 | Web sites |
| 33 | ---------- | 32 | +========= |
| 33 | +http://gammalib.sourceforge.net - for documentation | ||
| 34 | +https://sourceforge.net/projects/gammalib/ - for downloads | ||
| 34 | 35 | ||
| 35 | -http://gammalib.sourceforge.net | ||
| 36 | 36 | ||
| 37 | +Prerequisites | ||
| 38 | +============= | ||
| 39 | +GammaLib should compile on every modern Unix system without any need | ||
| 40 | +to install other libraries. | ||
| 37 | 41 | ||
| 38 | -Bug reports | ||
| 39 | ------------ | 42 | +To enable support for FITS file handling, however, the cfitsio library |
| 43 | +from HEASARC needs to be installed. cfitsio can be downloaded from | ||
| 44 | +http://heasarc.gsfc.nasa.gov/fitsio and detailed installation instructions | ||
| 45 | +can be found there. If cfitsio does not already exist on your system, | ||
| 46 | +we recommend installation of cfitsio in the default GammaLib install | ||
| 47 | +directory as a shared library by typing: | ||
| 48 | + | ||
| 49 | + % ./configure --prefix=/usr/local/gamma | ||
| 50 | + % make shared | ||
| 51 | + % make install | ||
| 52 | + | ||
| 53 | +GammaLib can also benefit from the presence of the readline library | ||
| 54 | +that provides line-editing and history capabilities for text input | ||
| 55 | +(GammaLib offers however also full functionality without having | ||
| 56 | +readline installed). readline can be downloaded from | ||
| 57 | +http://ftp.gnu.org/gnu/readline/ | ||
| 58 | + | ||
| 59 | + | ||
| 60 | +Unix Installation | ||
| 61 | +================= | ||
| 62 | +To build and install GammaLib, simply type the following: | ||
| 63 | + | ||
| 64 | + % ./configure | ||
| 65 | + % make | ||
| 66 | + % make install | ||
| 67 | + | ||
| 68 | +By default GammaLib installs itself in /usr/local/gamma. If you need to | ||
| 69 | +install GammaLib in a different location or in your home directory, use | ||
| 70 | +the --prefix option to ./configure. For example: | ||
| 71 | + | ||
| 72 | + % ./configure --prefix=/home/yourname/projects | ||
| 73 | + % make | ||
| 74 | + % make install | ||
| 75 | + | ||
| 76 | +The file INSTALL details more about using configure. Also try | ||
| 77 | + | ||
| 78 | + % ./configure --help. | ||
| 79 | + | ||
| 80 | + | ||
| 81 | +Macintosh OS X Installation | ||
| 82 | +============================ | ||
| 83 | +GammaLib is known to work on various flavors of OS X. Follow the Unix | ||
| 84 | +installation instructions above. | ||
| 85 | + | ||
| 86 | + | ||
| 87 | +Solaris Installation | ||
| 88 | +==================== | ||
| 89 | +GammaLib compiles on Solairs, but there is an issue with using it as a | ||
| 90 | +shared library (see "Known problems" below). | ||
| 91 | + | ||
| 92 | + | ||
| 93 | +Testing | ||
| 94 | +======= | ||
| 95 | +If you want to test GammaLib before installation, type the following: | ||
| 96 | + | ||
| 97 | + % make check | ||
| 40 | 98 | ||
| 99 | + | ||
| 100 | +Setting up your environment | ||
| 101 | +=========================== | ||
| 102 | +Before using GammaLib you have to setup some environment variables. | ||
| 103 | +Assuming that you have installed GammaLib in the default directory | ||
| 104 | +/usr/local/gamma you need to add the following to your .bashrc or | ||
| 105 | +$HOME/.profile script on a Linux machine: | ||
| 106 | + | ||
| 107 | + export PYTHONPATH=/usr/local/gamma/lib/python2.5/site-packages:$PYTHONPATH | ||
| 108 | + export LD_LIBRARY_PATH=/usr/local/gamma/lib:$LD_LIBRARY_PATH | ||
| 109 | + | ||
| 110 | +Please adapt the Python version (python2.5 in this example) to the | ||
| 111 | +version available on your machine. | ||
| 112 | + | ||
| 113 | +On Mac OS X you have to change LD_LIBRARY_PATH to DYLD_LIBRARY_PATH: | ||
| 114 | + | ||
| 115 | + export PYTHONPATH=/usr/local/gamma/lib/python2.5/site-packages:$PYTHONPATH | ||
| 116 | + export DYLD_LIBRARY_PATH=/usr/local/gamma/lib:$DYLD_LIBRARY_PATH | ||
| 117 | + | ||
| 118 | +And if you use C shell or a variant, add the following to your | ||
| 119 | +.cshrc or .tcshrc script: | ||
| 120 | + | ||
| 121 | + setenv PYTHONPATH /usr/local/gamma/lib/python2.5/site-packages:$PYTHONPATH | ||
| 122 | + setenv LD_LIBRARY_PATH /usr/local/gamma/lib:$LD_LIBRARY_PATH | ||
| 123 | + | ||
| 124 | + | ||
| 125 | +Getting started | ||
| 126 | +=============== | ||
| 127 | +The easiest way to start with GammaLib is by using the python interface. | ||
| 128 | +To start, type the following: | ||
| 129 | + | ||
| 130 | + % python | ||
| 131 | + >>> from gammalib import * | ||
| 132 | + >>> models=GModels() | ||
| 133 | + >>> print models | ||
| 134 | + === GModels === | ||
| 135 | + Number of models ..........: 0 | ||
| 136 | + Number of parameters ......: 0 | ||
| 137 | + | ||
| 138 | +This examples allocates an empty GModels object that holds a collection | ||
| 139 | +of models. | ||
| 140 | + | ||
| 141 | +For examples, inspect the test directory, and the test directories | ||
| 142 | +of the instrument specific interfaces, e.g. inst/mwl/test, inst/lat/test, | ||
| 143 | +and inst/cat/test. | ||
| 144 | + | ||
| 145 | + | ||
| 146 | +Documentation | ||
| 147 | +============= | ||
| 148 | +The doc directory contains the most recent set of updated documentation | ||
| 149 | +for this release. The documentation is available in PDF format. | ||
| 150 | + | ||
| 151 | +This is a development release and the documentation is largely, but | ||
| 152 | +not entirely up to date. We are working on it. Please be patient or | ||
| 153 | +volunteer to help. | ||
| 154 | + | ||
| 155 | + | ||
| 156 | +Bug reports | ||
| 157 | +=========== | ||
| 41 | To report or search for bugs, please use the GammaLib Bug Tracker at | 158 | To report or search for bugs, please use the GammaLib Bug Tracker at |
| 42 | https://sourceforge.net/tracker/?group_id=282143&atid=1196795. | 159 | https://sourceforge.net/tracker/?group_id=282143&atid=1196795. |
| 43 | 160 | ||
| 44 | 161 | ||
| 45 | Known problems | 162 | Known problems |
| 46 | --------------- | ||
| 47 | - | ||
| 48 | -SWIG 1.3.33 | ||
| 49 | - The definition of the GTimes vector using std_vector.i leads to warnings | ||
| 50 | - during creation of the C++ python wrapper using swig. These warnings are | ||
| 51 | - however not preventing compilation of the code | 163 | +============== |
| 164 | +Solaris | ||
| 165 | + Although GammaLib compiles on Solaris using the Sun compiler, there are | ||
| 166 | + problems with global symbols in the shared library that prevent the | ||
| 167 | + model registry to work correctly. Furthermore, GammaLib is not able | ||
| 168 | + to catch its own exceptions, which prevents the FITS interface to work | ||
| 169 | + correctly. If GammaLib is linked statically | ||
| 52 | 170 | ||
| 53 | 171 | ||
| 54 | Contact | 172 | Contact |
| 55 | -------- | ||
| 56 | - | 173 | +======= |
| 57 | To get in touch with the GammaLib developers and to contribute to the | 174 | To get in touch with the GammaLib developers and to contribute to the |
| 58 | project please contact Juergen Knoedlseder <knodlseder@cesr.fr>. | 175 | project please contact Juergen Knoedlseder <knodlseder@cesr.fr>. |
configure.ac
| @@ -5,12 +5,12 @@ | @@ -5,12 +5,12 @@ | ||
| 5 | # | 5 | # |
| 6 | # GammaLib is free software; you can redistribute it and/or modify it | 6 | # GammaLib is free software; you can redistribute it and/or modify it |
| 7 | # under the terms of the GNU General Public License as published by the | 7 | # under the terms of the GNU General Public License as published by the |
| 8 | -# Free Software Foundation; either version 3, or (at your option) any | 8 | +# Free Software Foundation; either version 2, or (at your option) any |
| 9 | # later version. | 9 | # later version. |
| 10 | # | 10 | # |
| 11 | # Process this file with autoconf to produce a configure script | 11 | # Process this file with autoconf to produce a configure script |
| 12 | 12 | ||
| 13 | -AC_INIT([GammaLib], [0.4.4], [knodlseder@cesr.fr], [gammalib], [http://gammalib.sourceforge.net/]) | 13 | +AC_INIT([GammaLib], [0.4.5], [knodlseder@cesr.fr], [gammalib], [http://gammalib.sourceforge.net/]) |
| 14 | AC_CONFIG_SRCDIR([src/support/GTools.cpp]) | 14 | AC_CONFIG_SRCDIR([src/support/GTools.cpp]) |
| 15 | AC_CONFIG_MACRO_DIR([m4]) | 15 | AC_CONFIG_MACRO_DIR([m4]) |
| 16 | AM_INIT_AUTOMAKE([gnu no-dependencies]) | 16 | AM_INIT_AUTOMAKE([gnu no-dependencies]) |
gammalib.pc.in
| @@ -5,6 +5,6 @@ includedir=${prefix}/include | @@ -5,6 +5,6 @@ includedir=${prefix}/include | ||
| 5 | 5 | ||
| 6 | Name: GammaLib | 6 | Name: GammaLib |
| 7 | Description: Versatile toolbox for analysis of astronomical gamma-ray data | 7 | Description: Versatile toolbox for analysis of astronomical gamma-ray data |
| 8 | -Version: 0.4 | 8 | +Version: 0.4.5 |
| 9 | Libs: -L${libdir} -lgamma @LIBS@ -lm | 9 | Libs: -L${libdir} -lgamma @LIBS@ -lm |
| 10 | Cflags: -I${includedir}/gammalib | 10 | Cflags: -I${includedir}/gammalib |