Commit 322e815e43fa8da335c2546a9ed5974b1a095009

Authored by Jürgen Knödlseder
1 parent 0c20e496

Prepare for release 0.9.1

ChangeLog
1   -2014-12-11 Juergen Knoedlseder <jurgen.knodlseder@irap.omp.eu>
  1 +2015-01-07 Juergen Knoedlseder <jurgen.knodlseder@irap.omp.eu>
2 2  
3   - * Version 1.0.0 released
4   - ========================
  3 + * Bug fix version 0.9.1 released
  4 + ================================
5 5  
6   - Fixed bug #1383
  6 + Fixed bug #1383 (unit test error with recent gcc compiler)
7 7  
8 8  
9 9 * Version 0.9.0 released
... ...
1   -New Features and Important Changes in GammaLib 00-09-00
  1 +New Features and Important Changes in GammaLib 00-09-01
2 2  
3 3 Author(s) : Juergen Knoedlseder
4 4  
5   -7 November 2014
  5 +7 January 2015
6 6  
7 7  
8 8 1. Introduction
... ... @@ -13,22 +13,7 @@ changes made since the last release of GammaLib.
13 13  
14 14 2. Public interface modifications
15 15 ---------------------------------
16   -The following classes have been renamed:
17   -* GCTAModelBackground => GCTAModelCubeBackground
18   -* GCTAModelInstBackground => GCTAModelIrfBackground
19   -* GCTAResponse => GCTAResponseIrf
20   -
21   -The following methods have been renamed:
22   -* GIntegral::romb() => GIntegral::romberg()
23   -
24   -The GObservation::response() method now returns a pointer to GResponse
25   -instead of a reference.
26   -
27   -The GCTAObservation::load(GFits&) and GCTAObservation::save(GFits&)
28   -methods have been renamed to read() and write().
29   -
30   -A classname() method has been added to all classes that returns the name
31   -of the GammaLib class.
  16 +None
32 17  
33 18  
34 19 3. Configuration
... ... @@ -38,10 +23,7 @@ None
38 23  
39 24 4. Application module
40 25 ---------------------
41   -The logfile name is now always parsed in the parameter file before it is
42   -employed. This guarantees that a logfile parameter change is taken into
43   -account at any stage. This corrects a bug where the logfile name change
44   -was not taken into account when running tools under Python.
  26 +None
45 27  
46 28  
47 29 5. Base module
... ... @@ -61,127 +43,37 @@ None
61 43  
62 44 8. Model module
63 45 ---------------
64   -A division by zero error occured in GModelSpectralPlaw2::eval_gradients
65   -in case that the integral was zero. The code has been changed to avoid
66   -this situation.
67   -
68   -The map cube in GModelSpatialDiffuseCube is now only loaded from the file
69   -when needed. This allows manipulating GModelSpatialDiffuseCube objects
70   -that describe huge map cubes without need for loading the map cubes into
71   -memory. This property is useful for Fermi/LAT analysis.
72   -
73   -Implement GModelSpectralSuperExpPlaw class to model a super exponentially
74   -cut off power law spectral functions.
75   -
76   -Added normalize attribute to GModelSpatialDiffuseMap that allows control
77   -over the internal normalization of the map. By default, the map is normalized,
78   -but by specifying normalize="0" the normalization can be switched off.
79   -
80   -A norm() method has been added to the abstract GModelSpatial interface that
81   -returns the model normalization within a circular region. This is used in the
82   -GModelSky::mc method to correctly reflect the normalization specified in the
83   -XML file. The method is also used to flag sources outside the simulation
84   -cone (applies so for the point sources, radial source and elliptical sources).
85   -
86   -The TS attribute has been added to GModel to store the Test Statistics value
87   -after model fitting. The ts() methods can be used to read and write the value.
88   -GModelSky will write the TS value into the XML file and read it if it's there.
89   -In addition, the tscalc attribute has been added to signal whether a TS value
90   -should be computed or not. If tscalc="1" is added to an XML, the tscalc
91   -attribute of the corresponding model component will be set to true. Otherwise
92   -it will be set to false.
  46 +None
93 47  
94 48  
95 49 9. Numerics module
96 50 ------------------
97   -Status information is now tracked using a message string in GIntegral. The
98   -message string is accessible using the message() method. If the string was
99   -set, the isvalid() method will return false. Otherwise, if no warning or
100   -error occured, the isvalid() method returns true.
  51 +None
101 52  
102 53  
103 54 10. Observation module
104 55 ----------------------
105   -Added __len__ and copy() methods to GEvents Python interface.
106   -
107   -The integration precision in GObservation::npred_spec has been increased
108   -to 1e-8 to cope with strongly fluctuating file functions (as they appear
109   -for CTA background models). See bug #1142 for more information.
110   -
111   -The binned likelihood functions now implement data filtering. All event
112   -bins with negative values will be excluded from the likelihood computation.
113   -
114   -The GObservation::model and GObservation::model_grad have been rearranged
115   -to reduce function call overhead. Some speed-up has been achieved.
116   -
117   -The GModelSpatial now implements class codes that allow fast branching in
118   -the response computations. This avoids dynamic type casting which can be
119   -quite time consuming (at least for methods that are called very often, such
120   -as the response methods). The class code enumerators are defined in
121   -GTypemaps.
122   -
123   -Full automatic typecasting has been implemented for the Python module.
124   -
125   -Added utc() methods to GTime to allow setting and retrieving the time as
126   -a string in the UTC time system. Leap seconds are taken into account in
127   -the time conversion. The leap seconds are hard coded so the software
128   -needs a regular update in case that leap seconds need to be added.
  56 +None
129 57  
130 58  
131 59 11. Optimization module
132 60 -----------------------
133   -The GOptimizerPar::error() method now always returns a positive number (the
134   -absolute value of the internally stored error is returned).
135   -
136   -The parameter error computation has been removed from the GOptimizerLM::optimize()
137   -method and an explicit call to GOptimizerLM::errors() is now required for
138   -error computation. GOptimizer::errors() has been added as pure virtual
139   -method for all optimizer classes.
140   -
141   -A new parameter was introduce to specify the acceptable function decrease in
142   -an iteration. Acceptable means that the new parameters are kept for continuing
143   -the iterations. This behaviour existed already before, but a low threshold of
144   -1e-6 did not really activate it. Now the threshold was raised to 1.0 and this
145   -help ctlike to converge quicker. Methods accept_dec() have been implemented
146   -to get and set the acceptable threshold.
  61 +None
147 62  
148 63  
149 64 12. Sky module
150 65 --------------
151   -Addition, subtraction, multiplication and division unary operators have
152   -been added to GSkymap that allow adding or subtracing skymaps. Values in
153   -the right-hand side skymap are bi-linearily interpolated, allowing for
154   -reprojection or rebinning of skymaps.
  66 +None
155 67  
156 68  
157 69 13. Support module
158 70 ------------------
159   -The GNodeArray non-const access operator[] now signals that an update of the
160   -internal pre-computation is needed, as this operator[] may change the node
161   -array values.
162   -
163   -Methods have been added to the GCsv class that allow the creation and the
164   -saving of CSV tables.
165   -
166   -The str2xml() and xml2str() functions have been added to GTools to handle
167   -predefined entities in XML files.
  71 +None
168 72  
169 73  
170 74 14. XML module
171 75 --------------
172   -Hierarchical element access methods have been added to GXml and GXmlNode.
173   -Using a string in the format "params > param[1] > value > struct" one can
174   -in a single method call walk down the hierarchy of an XML document to
175   -access an element. The squared brackets allow specifying an element index
176   -in case that multiple elements with the same name exist. If squared brackets
177   -are omitted, an index of 0 is assumed. If the indicated element does not
178   -exist, the method returns a pointer to NULL.
179   -
180   -The XML module now handles predefined entities. Special characters, such as
181   -" will now be transformed into their predefined entities, e.g. &quot;, when
182   -writing the XML file. Upon reading, predefined entities will be converted
183   -into special chacaters, so that the user always deals with a human readable
184   -string.
  76 +None
185 77  
186 78  
187 79 15. VO module
... ... @@ -206,115 +98,15 @@ None
206 98  
207 99 19. Fermi-LAT interface
208 100 ----------------------
209   -Pass 7 response files have been added.
210   -
211   -A bug in the computation of the Point Spread Function (PSF) has been corrected
212   -that led to differences between Fermi/LAT ScienceTools and GammaLib results.
213   -The former code applied in fact the front energy scaling to the back PSF. This
214   -has now been fixed and checked with a test dataset. GammaLib results are now
215   -very close to Fermi/LAT ScienceTools results.
216   -
217   -Another bug in the computation of the mean PSF for sources falling outside the
218   -event cube have been fixed. The GLATEventCube::maxrad method now returns zero
219   -if a source lies outside the event cube. PSF normalization for event cubes is
220   -not only performed for sources within the event cube.
  101 +None
221 102  
222 103  
223 104 20. CTA interface
224 105 -----------------
225   -Energy dispersion has been added to the CTA module. The class GCTAEdispPerfTable
226   -implements a simple Gaussian energy dispersion that is based on the energy dispersion
227   -rms value provided in the ASCII performance files.
228   -
229   -Classes have been implemented to support background modelling for CTA in the
230   -instrument system. Background information has been added to the CTA response in
231   -form of the abstract GCTABackground base class, being able to represent an expected
232   -background rate as function of energy and spatial parameters.
233   -
234   -GCTABackgroundPerfTable implements background rate information extracted from a
235   -performance table, GCTABackground3D implements background information provided by
236   -a cube spanned by DETX, DETY and energy.
237   -
238   -The instrumental background is handled by the GCTAModelInstBackground class that
239   -derives from GModelData.
240   -
241   -load() and save() methods have been added to GCTAObservation that operate directly
242   -on GFits objects, so data have not be saved to disk for reloading. This is useful
243   -in streamlining ctselect (see #1149). A load() method has been implemented that
244   -recognizes automatically whether the file is an event list or a event cube, making
245   -load_unbinned() and load_binned() obsolete. These methods will be removed in the
246   -next major release.
247   -
248   -The GCTAPointing class now also supports pointing tables, which provide the altitude
249   -and azimuth on the sky as function of time.
250   -
251   -The type of the GCTAModelCubeBackground class has been set to GCTACubeBackground,
252   -the type of the GCTAModelIrfBackground class to GCTAIrfBackground. XML files need
253   -to be adapted accordingly.
254   -
255   -For stacked analysis, the GCTAExposure and GCTAMeanPsf classes have been added.
256   -GCTAExposure represents the summed exposure for a list of CTA observations
257   -(computed as the sum of effective area times livetime), GCTAMeanPsf represents
258   -the average PSF, computed by weighing the PSF of each observation by the respective
259   -exposure.
260   -
261   -GCTAEventList was storing the m_detx and m_dety members in degrees upon load, while
262   -the class expects to hold these values in radians. Unit conversion has now been
263   -added to the reader and writers, so that DETX and DETY are in degrees in the file
264   -while they are in radians internally in GammaLib, and specifically in GCTAInstDir.
265   -
266   -Manipulation methods have been added to GCTAResponseTable that allow building a
267   -response table from scratch. These include appending of axes and parameters, as
268   -well as accessing axis boundaries.
269   -
270   -The CTA response classes have been refactored. GCTAResponse has been renamed to
271   -GCTAResponseIrf, and GCTAResponse is now an abstract base class from which
272   -GCTAResponseIrf derives. The class GCTAResponseCube, which also derives from
273   -GCTAResponse, has been added to handle cube-style analysis. GCTAResponseCube
274   -holds an exposure cube (GCTAExposure) and a PSF cube (GCTAMeanPsf) to describe
275   -the response. GCTAObservation has been modified to allocate either IRF-style or
276   -stacked response, dependent on the information found in the XML file.
277   -
278   -The abstract GCTASourceCube class has been added to handle the pre-computation
279   -cache for stacked analysis. A first implementation of this cache is provided
280   -by the GCTASourceCubePointSource class for point source analysis. The cache has
281   -been added to GCTAResponseCube who takes care of initializing and using the cache.
282   -
283   -A GCTATypemap header has been added to define CTA specific typemaps. This is
284   -actually used to define class codes for GCTASourceCube so that dynamic type
285   -casting can be avoided. Dynamic type casting is time consuming, and to speed-up
286   -response computation, using class codes is more efficient.
287   -
288   -The response computation for extended models has been improved. Specifically, the
289   -response computation was changed so that the resulting log-likelihood profiles
290   -becomes as smooth as possible. This helps the optimizer during the minimization.
291   -For this purpose, the integration precision has been replaced by a constant
292   -iterator depths, which leads to a uniform computation that increases log-likelihood
293   -profile smoothness. Also, known transition points have been added as internal
294   -integration boundaries, improving the integral precision.
295   -
296   -The ALT_PNT and AZ_PNT attributes are now read from CTA data and used to set the
297   -zenith and azimuth angles in the GCTAPointing structure. As well, the information
298   -in GCTAPointing is now used to set the ALT_PNT and AZ_PNT attributes upon writing
299   -a dataset.
300   -
301   -Add read(), write() and save() methods to GCTAPsf2D and GCTAPsfKing classes.
302   -
303   -The GCTAResponseIrf::mc method now automatically sets the DETX and DETY
304   -values.
305   -
306   -Events are now only loaded when needed into GCTAObservation. This reduces memory
307   -the usage. The method dispose_events() has been added to explicitely allow the
308   -disposal of the events.
309   -
310   -Support for user provided energy thresholds and save energy thresholds has been
311   -implemented. Save energy thresholds will be extracted from the LO_THRES and
312   -HI_THRES keywords if they are present in the effective area response FITS
313   -file. The user may supply energy thresholds in the XML file.
  106 +Corrected bug #1383 that led to a unit test failure for the CTA energy dispersion
  107 +computation on recent gcc compiler versions.
314 108  
315 109  
316 110 21. COMPTEL interface
317 111 ---------------------
318   -The COMPTEL response handling is now based on GCaldb functionnalities. The
319   -COMPTEL calibration database has been restructured for this purpose and a
320   -calibration database index has been added.
  112 +None
... ...
1 1 GammaLib information
2 2 ====================
3   -Version: 00-09-00 (23 October 2014)
  3 +Version: 00-09-01 (7 January 2015)
4 4 Author: Juergen Knoedlseder (jurgen.knodlseder@irap.omp.eu)
5 5  
6 6  
... ... @@ -181,7 +181,7 @@ If everything works successfully you should see
181 181 or
182 182  
183 183 ============================================================================
184   -Testsuite summary for gammalib 0.8.0
  184 +Testsuite summary for gammalib 0.9.1
185 185 ============================================================================
186 186 # TOTAL: 20
187 187 # PASS: 20
... ...
configure.ac
... ... @@ -2,7 +2,7 @@
2 2 # Configuration for GammaLib - a versatile toolbox for high-level analysis #
3 3 # of astronomical gamma-ray data #
4 4 # ------------------------------------------------------------------------- #
5   -# Copyright (C) 2006-2014 Juergen Knoedlseder #
  5 +# Copyright (C) 2006-2015 Juergen Knoedlseder #
6 6 # ------------------------------------------------------------------------- #
7 7 # #
8 8 # This program is free software: you can redistribute it and/or modify #
... ... @@ -29,7 +29,7 @@
29 29 #############################################################################
30 30 # Initialisation #
31 31 #############################################################################
32   -AC_INIT([gammalib], [0.9.0], [jurgen.knodlseder@irap.omp.eu], [gammalib])
  32 +AC_INIT([gammalib], [0.9.1], [jurgen.knodlseder@irap.omp.eu], [gammalib])
33 33 AC_CONFIG_SRCDIR([src/support/GTools.cpp])
34 34 AC_CONFIG_MACRO_DIR([m4])
35 35 AM_INIT_AUTOMAKE([gnu no-dependencies -Wno-portability subdir-objects])
... ...
doc/Doxyfile
... ... @@ -32,7 +32,7 @@ PROJECT_NAME = GammaLib
32 32 # This could be handy for archiving the generated documentation or
33 33 # if some version control system is used.
34 34  
35   -PROJECT_NUMBER = 0.9.0
  35 +PROJECT_NUMBER = 0.9.1
36 36  
37 37 # Using the PROJECT_BRIEF tag one can provide an optional one line description
38 38 # for a project that appears at the top of each page and should give viewer
... ...
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'2014, GammaLib developers'
  51 +copyright = u'2006-2015, 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
... ... @@ -57,7 +57,7 @@ copyright = u&#39;2014, GammaLib developers&#39;
57 57 # The short X.Y version.
58 58 version = '0.9'
59 59 # The full version, including alpha/beta/rc tags.
60   -release = '0.9.0'
  60 +release = '0.9.1'
61 61  
62 62 # The language for content autogenerated by Sphinx. Refer to documentation
63 63 # for a list of supported languages.
... ...
gammalib.pc.in
... ... @@ -6,7 +6,7 @@ includedir=${prefix}/include
6 6 Name: GammaLib
7 7 Description: Versatile toolbox for analysis of astronomical gamma-ray data
8 8 URL: http://gammalib.sourceforge.net/
9   -Version: 0.9.0
  9 +Version: 0.9.1
10 10 Requires:
11 11 Requires.private: @CFITSIO@
12 12 Conflicts:
... ...