-
A new parameter was introduce to specify the acceptable function decrease in an iteration. Acceptable means that the new parameters are kept for continuing the iterations. This behaviour existed already before, but a low threshold of 1e-6 did not really activate it. Now the threshold was raised to 1.0 and this help ctlike to converge quicker. Methods accept_dec() have been implemented to get and set the acceptable threshold.
-
Not sure why this was set to 0.1.
-
Conflicts: ChangeLog inst/cta/src/GCTAResponse_helpers.cpp inst/cta/src/GCTASupport.hpp
-
This appears more natural for an ellipse.
-
The binned analysis looks okay, but unbinned shows a strange behaviour for the semiminor axis parameter which results in a strong dependency of Npred on the semiminor axis value. This seems to prevent a nice convergence in unbinned mode. There is also an open issue to be solved related to the possibility that the minor axis is larger than the major axis. The actual code assumes that minor axis < major axis. If this is not fulfilled, the omega arc computations will be wrong.
-
Any elliptical model should be defined by semiminor and semimajor axes, these are in fact used in the CTA response computation. Hence they should live in the baseclass, not the derived class.
-
… (blocking has been recognized using the ctobssim unit test).
-
A constructor has been added to create a table with a specific number of rows and columns. This constructor can be used for table creation. Set methods string(), real() and integer() have been added to set the table cells to specific values. A save() method has been implemented that will save the CSV table into an ASCII file.
-
Hierarchical element access methods have been added to GXml and GXmlNode.Using a string in the format "params > param[1] > value > struct" one can in a single method call walk down the hierarchy of an XML document to access an element. The squared brackets allow specifying an element index in case that multiple elements with the same name exist. If squared brackets are omitted, an index of 0 is assumed. If the indicated element does not exist, the method returns a pointer to NULL.
-
The convert() and set() methods now support time references given in the UTC time system. Using convert() one can now extract for example MJD in the UTC time system. All this needs still to be documented.
-
This required implementation of a leap_seconds() computation method. The leap second table is statically implement in the method and needs manual update when leap seconds are added.
-
The new method stack_maps() now works on the object it is applied to instead of creating a new sky map. The reason is on the one hand semantic, as "stack_maps" is an action applied on the current object. For an object returning a skymap, the name should be something like "stacked" as the new map is a stacked version of the old one. But another reason is memory usage. The method now allocates a new memory space for the stacked map and releases the old memory once the stacking is done. The new implementation is also more general as this method now works for both WCS and HEALPIX projections. A unit test has been added to make sure that the maps were indeed stacked.
-
…o GOptimizer base class. Further implemented GObservations::errors()
-
…ll GModelData derivatives
-
The fixed number of iterations has not been correctly taken into account in the convergence testing. If alternatively the integration precision was reached, the code stopped anyways.
-
…daries. Also streamlined the interface to avoid passing parameter indices. We now pass parameter references.
-
…ethod will sort these boundaries and returns the sum of the integral over all boundaries. This allows easy splitting of an integration range into two pieces by adding an internal node.