• The GFitsHDU::card methods now return a reference instead of a pointer. Some more methods have been added to GFitsHDU for header card access and management.
    
    The fits_key_not_found exception has been removed, and keyword checks are now done using the hascard() methods. This was needed as the GFitsHeader class does not throw the fits_key_not_found exception anymore if a header card is not found.
    
    The FITS utility function gammalib::fits_move_to_hdu has been added to the GFits.hpp/cpp files which provides support for moving to a specific HDU. As this cfitsio function is widely used in the FITS module it was favourable to put it in a specific function with a generic exception message.
    Jürgen Knödlseder authored
     
    Browse File »

  • The GFits class allows for flexible HDU manipulation using the container methods set(), append(), insert(), remove() and extend(). So far the code was unable to save correctly a manipulated FITS file. This has now been corrected for. If for a given extension number the type of a HDU has changed during manipulations (e.g. an image has become a table or vice versa), the old HDU is deleted and a new HDU is inserted in place. Also, exedent HDUs that are not present anymore in the GFits object will be removed from the FITS file upon saving.
    Jürgen Knödlseder authored
     
    Browse File »
  • If a FITS file is created using the open() method and if HDUs have been appended to this FITS file, the GFits::close() method (or the destructor) resulted in an exception due to an invalid filepointer. The result FITS file was empty, with a single "END" statement.
    
    Now, the m_created flag is used to signal that a file has been created but not yet saved. Calling the GFits::save() method will set the flag to false. The GFits::free_member() method will delete the FITS file if m_created is still true.
    Jürgen Knödlseder authored
     
    Browse File »

  • A major revision of the GFitsTable class interface has been done, making it more similar to the interface of other container classes. In particular, the column access operator now returns a pointer instead of a reference, preventing code slicing. The set() method has been introduced to set columns in a table. The append_column() and insert_column() methods have been renamed to append() and insert() as they act on columns, and a table is a column container. Some arguments or return values are now also declared as const references. A size() method has been added that return the number of table columns.
    
    As the GFitsTable class is widely used throughout GammaLib, a number of classes had to be adapted to this new interface.
    Jürgen Knödlseder authored
     
    Browse File »




  • 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.
    Jürgen Knödlseder authored
     
    Browse File »


  • All classes our now derived from GBase. For this we had to define and to implement the clear() method for all classes. ostream and GLog friends have also been removed, as they are no implemented at the GBase level.
    Jürgen Knödlseder authored
     
    Browse File »