-
# Conflicts: # inst/lat/include/GLATAeff.hpp # inst/lat/include/GLATEdisp.hpp # inst/lat/include/GLATObservation.hpp # inst/lat/include/GLATPsf.hpp # inst/lat/pyext/GLATAeff.i # inst/lat/pyext/GLATEdisp.i # inst/lat/pyext/GLATObservation.i # inst/lat/pyext/GLATPsf.i # inst/lat/src/GLATAeff.cpp # inst/lat/src/GLATEdisp.cpp # inst/lat/src/GLATPsf.cpp
-
The PSF attribute FRONT/BACK has to be set before reading the scaling parameters as they depend which parameters are read. Before, the attribute has been set after reading the scaling parameters, which led to an application of the front scaling factors to the back response (see issues #603 and #1004).
-
The coding and design conventions (CDC) document was also updated.
-
The GLATPointing class was not used, but implement because the former interface was requiring a class derived from GPointing. As GPointing has now been removed we can also remove the GLATPointing class.
-
GLATAeff read() method now take a const reference instead of a pointer. The clobber argument for the save() method is now a const reference. GLATEdisp GLATPsf GLATLtCube The clobber argument for the save() method is now a const reference. GLATPsfBase read() and read_scale() now take const reference instead of pointers as arguments. costhetamin(), front(), scale_par1(), scale_par2() and scale_index() now return const references. GLATPsfV1 GLATPsfV3 read() now takes a const reference instead of a pointer as argument. GLATLtCubeMap read() and write() methods now take a const reference instead of a pointer. ncostheta(), nphi() and costhetamin() now return const references. GLATMeanPsf offset(), energy(), dir(), name() and thetamax() now return const references. GLATResponse caldb(), rspname() and force_mean() now return const references. GLATResponseTable read() and write() methods now take a const reference instead of a pointer. nenergies() and ncostheta() return const references.
-
The GFitsHeader class now derives from GContainer and implements all generic container class methods (at(), size(), isempty(), append(), insert(), remove(), reserve(), extend()). The hascard() methods have been renamed to contains() for compliance with other container classes. The card() methods have been renamed to at(), also for compliance. The card access operators and methods now return the cards by reference. Card access operators[] have been implemented to access header cards without range checking. The cards are now stored using a std::vector structure.
-
The GFits class now derives from GContainer and implements all generic container class methods (at(), size(), isempty(), set(), append(), insert(), remove(), reserve(), extend()). The hashdu() method has been renamed to contains() for compliance with other container classes. The hdu() methods have been renamed to at(), also for compliance. Boolean arguments are now passed as const references, and members are returned as const references. HDU access operators[] have been implemented to access FITS extensions without range checking.
-
Add GChatter argument to print() method. The print() method now takes an argument of type GChatter to control the chattiness of the output in a homogenous manner. Pass NORMAL chatter level in __str__ method. Add chatter argument to print() methods. Use GLog::chatter() method to control the chattiness of the log stream operator. Add chatter() methods and provide member access through const references. Add chatter() methods, provide member access through const references, and declare one liners as inline methods. The chatter() methods control the new m_chatter attribute that is used to control the chattiness of the object's print() methods. name() and version() methods return const references. logFileOpen() method now sets the chattiness from the applications's chatter parameter, and name() and version() methods now return a const reference.
-
Remove obsolete ostream and GLog friends, and properly include the GBase class for the Python interface.
-
The PSF scaling factors have to be read before the PSF data as the scaling factors are used for normalization of the PSF parameters for the V3 PSF.
-
The Fermi/LAT point spread function code was refactored to support multiple PSF versions. Most of the PSF computations are now done in the abstract base class GLATPsfBase and the derived classes GLATPsfVx (where x is the version number). The PSF class GLATPsf detects the PSF version upon loading from the FITS file, and allocated the proper class GLATPsfVx. So far there is only support for PSF version 1 (e.g. Pass 6). Version 1 support is implemented in GLATPsfV1. The files for PSF version 3 support (e.g. Pass 7) exist already, yet so far they only support reading and writing of the PSF parameters. The PSF computation still needs to be implemented.
-
In order to support the Pass 7 response, methods for PSF version 3 need to be added. So far read and write methods have been added (not yet tested).