Commit 322e815e43fa8da335c2546a9ed5974b1a095009
1 parent
0c20e496
Prepare for release 0.9.1
Showing
7 changed files
with
27 additions
and
235 deletions
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 | ... | ... |
NEWS
| 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. ", 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 | ... | ... |
README
| 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 = 'contents' |
| 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'2014, GammaLib developers' |
| 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: | ... | ... |