-
A vector of GModelPar objects has been added to the GModel class that can hold instrument specific model scaling factors. The name of each parameter specifies the instrument, which will be converted automatically in upper case. The scale factors can be set and accessed using the scale() methods. If the scale method is called for an instrument for which no instrument specific scale factor has been defined, unity is returned (hence the model will not be scaled). The class now provides the protected methods read_scales() and write_scales() for reading and writing of scale factors from and to a XML file. The scale factors are written to an optional <scaling> tag, which contains a list of tags of type <instrument ... />. These methods are used by the GModelSky class for reading and writing the scale factors.
-
The model parameter constructor allows allocating of a GModelPar object using a parameter name, a parameter value and an optional parameter scaling factor. This allows for one-line allocation of a GModelPar object.
-
Add method to access a random number generators seed value.
-
Since we have to query the parameter to determine it's status, the isvalid(), isundefined() and isnotanumber() methods now call query(). This implies that the methods had to be passed non-const, as query() modifies the members of the parameter.
-
The parameter validity is checked before returning a value. This ensures that invalid values are not inadvertedly passed to the executable. The isvalid() method can be used to ensure that a parameter is valid before accessing it.
-
It is recommended to pass all arguments to exceptions by reference to avoid memory allocation during exception throwing.
-
The indent parameter allows to signal whether a line is indented. The total length of the parameter name is reduced by the amount of indentation.
-
Some header files were not distributed, and some header files were not included in the GammaLib.hpp header.
-
The reference() method returns the native GammaLib time reference().
-
The GTime class now represents the time in a GammaLib native time reference. The reference is no longer stored as a class member. Conversion methods have been added to convert the time into any possible reference system. The time reference systems is represented by the new class GTimeReference. The met() method has been removed, and replaced by the secs() method which returns the time in the native format in units of seconds. This is the way how GTime stores the time. An additional method days() gives the time in the same reference in units of days.
-
This class implements a time reference.
-
The class has been adapted to the new GTime interface. In addition, it now stores the time reference that is used when reading and writing data from and to a FITS file. In that way, the original time reference system is preserved, while times are always stored in the native GammaLib time reference.
-
The sec_in_day constants gives the number of seconds in a TT day.
-
The times container class header has been added as the std::vector<GTime> typedef has been removed from GTime.
-
A list of times is now implemented by the GTimes container class.
-
The std::vector<GTime> typedef has been replaced by a time container class.
-
A precomputation cache has been added for the mc() method. Integration kernels for the flux() and eflux() methods have been added.
-
The GPhotons object is not defined as a proper GammaLib container class.
-
A parameter status member has been added that allows a parameter to be undefined or nan.
-
A value cache has been added to that the interpolation computations are only done when the value or the nodes have been changed between subsequent class to @set_value()@ or @interpolate()@ (@interpolate()@ calls in fact @set_value()@, so that the changes have only be done in the @set_value()@ method). An unnecessary if statement has been removed from the bi-section algorithm. See feature #102.