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 * Version 0.9.0 released 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 Author(s) : Juergen Knoedlseder 3 Author(s) : Juergen Knoedlseder
4 4
5 -7 November 2014 5 +7 January 2015
6 6
7 7
8 1. Introduction 8 1. Introduction
@@ -13,22 +13,7 @@ changes made since the last release of GammaLib. @@ -13,22 +13,7 @@ changes made since the last release of GammaLib.
13 13
14 2. Public interface modifications 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 3. Configuration 19 3. Configuration
@@ -38,10 +23,7 @@ None @@ -38,10 +23,7 @@ None
38 23
39 4. Application module 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 5. Base module 29 5. Base module
@@ -61,127 +43,37 @@ None @@ -61,127 +43,37 @@ None
61 43
62 8. Model module 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 9. Numerics module 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 10. Observation module 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 11. Optimization module 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 12. Sky module 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 13. Support module 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 14. XML module 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 15. VO module 79 15. VO module
@@ -206,115 +98,15 @@ None @@ -206,115 +98,15 @@ None
206 98
207 19. Fermi-LAT interface 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 20. CTA interface 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 21. COMPTEL interface 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 GammaLib information 1 GammaLib information
2 ==================== 2 ====================
3 -Version: 00-09-00 (23 October 2014) 3 +Version: 00-09-01 (7 January 2015)
4 Author: Juergen Knoedlseder (jurgen.knodlseder@irap.omp.eu) 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,7 +181,7 @@ If everything works successfully you should see
181 or 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 # TOTAL: 20 186 # TOTAL: 20
187 # PASS: 20 187 # PASS: 20
configure.ac
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 # Configuration for GammaLib - a versatile toolbox for high-level analysis # 2 # Configuration for GammaLib - a versatile toolbox for high-level analysis #
3 # of astronomical gamma-ray data # 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 # This program is free software: you can redistribute it and/or modify # 8 # This program is free software: you can redistribute it and/or modify #
@@ -29,7 +29,7 @@ @@ -29,7 +29,7 @@
29 ############################################################################# 29 #############################################################################
30 # Initialisation # 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 AC_CONFIG_SRCDIR([src/support/GTools.cpp]) 33 AC_CONFIG_SRCDIR([src/support/GTools.cpp])
34 AC_CONFIG_MACRO_DIR([m4]) 34 AC_CONFIG_MACRO_DIR([m4])
35 AM_INIT_AUTOMAKE([gnu no-dependencies -Wno-portability subdir-objects]) 35 AM_INIT_AUTOMAKE([gnu no-dependencies -Wno-portability subdir-objects])
doc/Doxyfile
@@ -32,7 +32,7 @@ PROJECT_NAME = GammaLib @@ -32,7 +32,7 @@ PROJECT_NAME = GammaLib
32 # This could be handy for archiving the generated documentation or 32 # This could be handy for archiving the generated documentation or
33 # if some version control system is used. 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 # Using the PROJECT_BRIEF tag one can provide an optional one line description 37 # Using the PROJECT_BRIEF tag one can provide an optional one line description
38 # for a project that appears at the top of each page and should give viewer 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,7 +48,7 @@ master_doc = &#39;contents&#39;
48 48
49 # General information about the project. 49 # General information about the project.
50 project = u'GammaLib' 50 project = u'GammaLib'
51 -copyright = u'2014, GammaLib developers' 51 +copyright = u'2006-2015, GammaLib developers'
52 52
53 # The version info for the project you're documenting, acts as replacement for 53 # The version info for the project you're documenting, acts as replacement for
54 # |version| and |release|, also used in various other places throughout the 54 # |version| and |release|, also used in various other places throughout the
@@ -57,7 +57,7 @@ copyright = u&#39;2014, GammaLib developers&#39; @@ -57,7 +57,7 @@ copyright = u&#39;2014, GammaLib developers&#39;
57 # The short X.Y version. 57 # The short X.Y version.
58 version = '0.9' 58 version = '0.9'
59 # The full version, including alpha/beta/rc tags. 59 # The full version, including alpha/beta/rc tags.
60 -release = '0.9.0' 60 +release = '0.9.1'
61 61
62 # The language for content autogenerated by Sphinx. Refer to documentation 62 # The language for content autogenerated by Sphinx. Refer to documentation
63 # for a list of supported languages. 63 # for a list of supported languages.
gammalib.pc.in
@@ -6,7 +6,7 @@ includedir=${prefix}/include @@ -6,7 +6,7 @@ includedir=${prefix}/include
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 URL: http://gammalib.sourceforge.net/ 8 URL: http://gammalib.sourceforge.net/
9 -Version: 0.9.0 9 +Version: 0.9.1
10 Requires: 10 Requires:
11 Requires.private: @CFITSIO@ 11 Requires.private: @CFITSIO@
12 Conflicts: 12 Conflicts: