-
The GResponseCache now implements a three-level response cache, with the first level being the name, the second being a hash value of the true and measured energies, and the third level a hash value of the instrument direction. The hash values are implemented as uint64_t 64 Bit unsigned integers.
-
…Lib.hpp in CTA classes
-
The method is now implemented at the base class level and branches to the model specific IRF computation methods that are also implemented at the GResponse level. This will allow implementing generic model dependent IRF methods at the base class level, making all spatial model types automatically accessible to all instrument modules. These methods can always be overloaded later in case that more efficient code needs to be generated. But at least, all spatial models work a priori out of the box.
-
The hash method returns a unique hash value for an instrument direction that can be used for the response caching.
-
…direction into instrument coordinates
-
These methods provide for a given pointing the SPI X and Y directions
-
The code now supports loading of IRF information, pre-computation of the IRF array in form of a sky map, and saving the pre-computed IRF to disk.
-
… of pointing and detector index.
-
Using these methods avoids initialising parameter gradients that will not be used.
-
The methods GModel::has_eval_indices() and GModel::eval_indices() allow for a more efficient parameter handling in GObservation::model() that is specifically relevant for a model with many parameters, such as the SPI data space models. These methods allow the GModel::eval() method to signal which of the parameters were actually updated, so that the gradients for only these parameters will be considered in GObservation::model(), while all other gradients will be ignored.
-
The copying was missing, leading to a core dump.
-
The GSPIModelDataSpace class implements the INTEGRAL/SPI data space model. The current commit allows already model fitting using the data space model. The various parameter grouping methods are not yet implemented, but the method structure exists already.