-
The outcome of the unit tests depends on the presence of the CTOOLS environment variable. If the CTOOLS environment variable is not present the unit test should fail, otherwise it sould succeed.
-
So far any exception occuring during the construction of the ctools were not catched. This is corrected now.
-
The void constructors from ctools base classes are never used, tools are always constructed with a name and version number.
-
The ctool::get_roi() replaces some duplicated code in ctselect and ctcubemask. The method extracts the RoI from the user parameters "ra", "dec" and "rad". In case the "usepnt" parameter is present and set to "yes", the "ra" and "dec" parameters will not be read, and it's up to the client to set the RoI centre properly.
-
The ctobservation::first_unbinned_observation() and ctobservation::next_unbinned_observation() methods implement an unbinned CTA observation iterator. Using this iterator avoids code duplication and generates a uniform interface for tools to loop over CTA events lists.
-
All likelihood ctools now derive from the ctlikelihood base class. This avoids code duplication and provides all likelihood tools with a uniform interface.
-
Since the new GApplication logger methods are more compact than the old format the "logTerse()" etc. constructs have been replaced by the new logger methods. At the same time, the chattiness levels have been reviewed with the following behaviour: - TERSE: only headers - NORMAL: standard output, only main results or computations - EXPLICIT: detailed output - VERBOSE: verbose output, mainly for diagnostics
-
The building of a cuve on the fly raised issue with memory going out of scope. This is fixed by making the CTA event cube a member of ctbin, and having the cube() method returning a reference to that member
-
It turned out that the partial coverage of counts cube bins using the weighting array does not work. The problem is spill over of events from one RoI to another than can not be dealt with at the level of a stacked analysis. The old logic of using only fully contained pixel is put back into place. The weighting array is (for the moment) conserved as it could serve other purposes. However, excluding of pixels is already accomplished by setting a pixel value to -1, so it remains to be seen whether we would like to keep that logic or if we would like to use the weighting array (which is more universal).
-
(still need to remove some debug statements later)