NEWS 4.49 KB
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