New Features and Important Changes in GammaLib 0.11.0 Author(s) : Juergen Knoedlseder 3 July 2015 1. Introduction --------------- This document briefly summarizes module by module the most important changes made since the last release of GammaLib. 2. Public interface modifications --------------------------------- The GOptimizerLM logger constructor now takes a pointer to a logger instead of a reference. This allows setting of a NULL pointer, disabling the logging of the optimizer. The GSkymap class has been renamed to GSkyMap to be consistent with the other classes in the sky module. 3. Configuration ----------------- None 4. Application module --------------------- GammaLib applications now only look for the application parameter file in the users pfiles directory if the PFILES environment variable has been not set. This assure that the PFILES environment variable will always take precedence over the users pfiles directory, and if the paramter file is missing in the directory pointed by the PFILES environment variable, it will be copied over from the syspfiles directory. 5. Base module -------------- None 6. FITS I/O Interface --------------------- None 7. Linear algebra module ------------------------ None 8. Model module --------------- Implement a rejection method for Monte Carlo simulations of photons in GModelSpatialDiffuseMap and GModelSpatialDiffuseCube. This assures that the simulated photon distribution follows the intensity distribution of the skymap as obtained using the sky direction access operator. The algorithm used to draw random numbers in GModelSpatialDiffuseConst::mc() was wrong (sky directions were not distributed isotropically on the sky). This has now been fixed (#1480). 9. Numerics module ------------------ None 10. Observation module ---------------------- Integration in npred() is now done using a fixed number of Romberg iterations instead of using the integration precision. This will assure that the log- likelihood function is smooth. The number of integration iterations for the energy dispersion was changed from 4 to 5 to make it compatible with the default integration order. 11. Optimization module ----------------------- The gradient computation has been corrected. Instead of multiplying the gradient factor with the scale factor we have to divide the gradient factor by the scale factor. An logger() method has been added to GOptimizerLM to set the logger for an optimizer (before, a logger could only be set during construction). 12. Sky module -------------- Added the flux() method that provides estimates for the flux value of a pixel. The flux is defined as the intensity (computed by bilinear interpolation over the pixel) multiplied by the solid angle of the pixel. The pixel containment check has been corrected. Before, the containment check returned true even if the pixel was by one beyond the skymap limits. On of the unwanted side effects in the sky map access operator was that pixels outside the valid sky map array were accessed, leading to unpredictable results at the edge of the images. This quite severe bug was now corrected. The GSkymap::operator/=(GSkymap) operator now sets all pixels to zero for which the nominator is zero. No exception is thrown any longer. Add +, -, * and / binary operators to the GSkymap class. 13. Support module ------------------ None 14. XML module -------------- None 15. VO module ------------- None 16. Xspec module ---------------- None 17. Test module --------------- None 18. Multi-wavelength interface ------------------------------ None 19. Fermi-LAT interface ---------------------- None 20. CTA interface ----------------- All integrations are now done using a fixed number of Romberg iterations instead of using the integration precision. This will assure that the log- likelihood function is smooth. The number of integration iterations for the energy dispersion was changed from 4 to 5 to make it compatible with the default integration order. An is_valid() method has been added to GCTARoi that returns true if the ROI has a positive radius. DS keywords are only written for a valid ROI into the event list file. The OBJECT attribute of an event file is now stored in to m_object member of GCTAObservation, and object() methods have been added to set and get the attribute value. The deadtime correction has been removed from GCTAModelCubeBackground as the background cube rates are already given per livetime. We formerly did the correction twice (#1503). 21. COMPTEL interface --------------------- None