-
The coding and design conventions (CDC) document was also updated.
-
The curvature matrix, which is equal to one-half time the Hessian matrix, is evaluated and not the covariance matrix. To make this clean, all covar terms have been renamed to curvature.
-
The node array class now derives from the container base class. All typical container methods, such as at(), size(), isempty(), append(), insert(), remove(), reserve() and extend() are now implemented. Unit tests have been added to check the functionnality. The Python interface now implements the __len__ method on the GContainer class level. This allows to determine container sizes using the len() function. The __len__ method is now obsolete in the derived classes and thus has been removed.
-
…ness of observation identifiers for a given instrument. The contains() method has been added that checks whether an observation for a given instrument and a given identifier exists. The operator [] does not check the index range anymore (the operators are now declared inline). For index check, the at() methods have been added. Methods that were implemented in the header file are now declared inline. The set(), append(), insert() and extend() methods now verify that the observation that should be added has an identifier that does not yet exist for the same instrument in the container. In other words, observation identifiers need to be unique for a given instrument.
-
To prevent code slicing and to conform to the GammaLib standard, the operator[] of a pointer container should return pointers and not reference. The interface has thus been changed. To allow also setting of elements, the set() method has been added.
-
GObservations now derives from the GContainer interface class. Methods have been implemented to manipulate observations, which can now be inserted and removed as needed. Two interface changes have been made: the observation is now passed as const in the append() method, and the reference returned by the models() method is declared const. A instance of GObservations::optimizer has now been added as member m_fct to the class, so each GObservations class has a permanent optimizer function instantiated. This allows direct access of optimizer function information, which has been implemented by the function() method.
-
All classes now derive from GBase. ostream and GLog friends are removed since they are now implement at the GBase level.