• Initially, there was a unlogic relation between GModels and GOptimizerPars, where GModels derives from GOptimizerPars, but both classes contained different types of objects. GModels is a model container, while GOptimizerPars is a parameter container.
    
    Now, GModels derives directly from GContainer and no longer from GOptimizerPars. The GModels::pars() method has been added to extract a flat array of model parameter pointers into a GOptimizerPars object.
    
    GOptimizerPars, which was abstract before, is now a real container class that also derives from GContainer.
    Jürgen Knödlseder authored
     
    Browse File »

  • 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.
    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 »

  • Jürgen Knödlseder authored
     
    Browse File »
  • …d Doxygen documentation for class with examples.
    
    The index access operators [] have now be placed inline so that faster code can be generated (as the index operator does not index checking it is now pretty short code).
    
    The hasmodel() methods should semantically be named contains() (in general, a container should always have the contains() method to check for names).
    
    The Doxygen documentation of the class has been enhanced, adding usage example to the general description.
    Jürgen Knödlseder authored
     
    Browse File »
  • The set(), append(), insert(), and extend() methods now verify that the added models have unique names, i.e. that the name of a model that is added does not exist already in the model container. In that way, all models in a model container *should* have unique names.
    
    Note, however, that a client can still violate this rule by retrieving a pointer to a model and by changing the name of the model explicitly.
    Jürgen Knödlseder authored
     
    Browse File »








  • Following the coding & design standard, the GModel argument in the set() method is now passed by reference. This removes the possibility of setting a model pointer to NULL. Thus, by construction, the container should never hold any NULL pointer.
    Jürgen Knödlseder authored
     
    Browse File »

  • The set method now takes a pointer instead of a reference. This allows assignment of a NULL pointer to the list of pointers in the container.
    Jürgen Knödlseder authored
     
    Browse File »
  • The GModel access operator now returns a simple GModel pointer, hence it cannot be used as an lvalue anymore. This is required to proteced the class from code slicing or memory leaks.
    
    Setting of GModel elements is now achieved by the set methods. Two variants have been implemented, one taking an index, the other taking a model name.
    Jürgen Knödlseder authored
     
    Browse File »
  • The GModel access operator returns now a reference to a pointer instead of a reference. This allows proper assignment in C++ using constructs such as m[0] = &model;. Also in Python assignment is now possible. For the Python interface we selected to make a deep copy to get a behavior that is compliant with Python list access.
    Jürgen Knödlseder authored
     
    Browse File »