-
Updated the model trimming so that the models that are outside an observation are offloaded to another model container and then re-appended after the evaluation. Parallelization scheduling set to "static" with a chunk size of 1. This will slightly help with the issue in which multiple observations in a row do not contribute to the model cube and thus dividing the observations into "n-observations/n-cores" is not ideal.
-
Fixed the variable name in the header file to match the name in the ctmodel.cpp file.
-
Instead of making a full copy of all models and removing unwanted models, models are added if they overlap with the ROI in 'trim_models()'. This avoids unnecessary memory allocation/deallocation.
-
Implemented a change to remove all models that dont overlap the current observation when filling the cube. This speeds up the computation when filling from a large number of models.
-
Changed the on time for a given bin to be set from the observation being filled into the cube rather than the cube itself. Reformat code (#2147)
-
Optimized computation intensive parts of ctmodel to reduce computation time. Implemented openmp parallelization of ctmodel to reduce computation time. Updated information logging (#2147) Updated writing information to log file in order to prevent messy log file messages. This doesnt appear to impact the computation time. Integrate code without modification of GammaLib (#2147) Implement efficient model computation (#2147) Update change log (#2147)
-
The publish parameter has been added to the following tools: - ctbin - ctbkgcube - ctcubemask - ctexpcube - ctmodel - ctskymap - cttsmap
-
…lso modified consistently, csresmap can now also take two maps (cnt and model) as input and compute the residuals directly. The algorithm parameter has been made unhidden
-
…)-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.
-
…esponse for all CTA observation in the container that have not yet a response using the task parameters.
-
ctmodel now always produces a single model cube on output. There are two important input parameters: "infile" and "obsfile". "infile" specifies a counts or model cube that is used to define the binning of the model cube. The functionnality for this parameter is as before. If "infile=NONE", the cube will be defined according to task parameters that specify the spatial and the energy binning. The "obsfile" parameter is new and allows specifying the observation definition for which the model cube should be computed. If an event list or a counts cube is presented, the pointing and Good Time Intervals will be extracted from the FITS file header. If an observation definition XML file is presented, ctmodel will now loop over all CTA observations in the file and add the model values to the model cube. If no response information is associated to the "obsfile" (which is typically the case for event lists or counts cubes), the "caldb" and "irf" parameters will be used to identify the response.
-
The edisp parameter now allows to switch on or off the handling of energy dispersion. By default, energy dispersion is switched off.
-
The GEbounds::setlog method has been modified and consequently the code has been adapted to accomodate this change.
-
If a model is to be built from scratch, the pointing direction of the observation needs to be specified.
-
The ctmodel tool generates a model map from a source model description. The definition of the model map may either be taken from a counts map, from an XMK observation definition file, or from the task parameters.