-
Removed dynamic scheduling as it introduces a small amount of overhead (it was only done so that the observations would be analyzed in numerical order) Added caching of sky directions for each pixel to prevent the need to re-convert the positions from index for each observation. Fill cached sky positions with RA,Dec values to prevent need to convert between galactic->celestial every time the distance is compute a distance from an observation ROI.
-
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.
-
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).
-
The publish parameter has been added to the following tools: - ctbin - ctbkgcube - ctcubemask - ctexpcube - ctmodel - ctskymap - cttsmap
-
…)-function of individual ctools
-
…d scave() methods to ctool interface. Add read_ahead() method to handle reading of task parameters at the beginning of the task execution. Remove all m_read_ahead members from the derived classes.
-
The ctool base class is now used in the ctbin tool. The get_ebounds() method has been moved to the ctool base class so that it can be used also in other tools. This reduces code duplication.
-
We do not want to fill cube bins outside the RoI to be consistent with the response and modelling part.
-
WARNING: The philosophy behind the ctbin tool changed fundamentally! ctbin now always produces a single counts cube on output. If a single event list is specified on input, the functionnality is basically unchanged. If multiple event lists are specified, however, events are now merged into a single counts cube file. No observation definition XML file is written anymore! So far, ctbin still writes pointing information in the counts cube, although this is not necessarily meaningful if merging event lists with different pointings. In the long run, pointing information will be summarized in a pointings definition file, and will be removed from the counts cube header. The logic is that the pointing definition is set to the map centre. This is only identical to the pointing in case of binning a single event list and using the usepnt=yes option (or specifying the pointing manually as the xref and yref parameters).
-
…ions without corresponding input file names. Also changed code so that an XML is always written even if just one observation.
-
The GEbounds::setlog method has been modified and consequently the code has been adapted to accomodate this change.
-
Filenames are now always accessed using the filename() method so that environment variables get correctly expanded. The prefix is now accessed using the string() method instead of the generic value() method, so that string checkings can be performed.
-
…to understand for the user. Instead of reading ahead the output parameter, I added a flag that signals when ahead reading is desired.