Updated over 11 years ago by Knödlseder Jürgen

GBase

GBase is the interface class for all classes in GammaLib. The class in an abstract base class which defines the methods that all GammaLib classes are required to implement. Below the interface definition:

class GBase {
public:
    virtual ~GBase(void) {}
    virtual void        clear(void) = 0;
    virtual GBase*      clone(void) const = 0;
    virtual std::string print(void) const = 0;
};
A number of classes in GammaLib will not be derived from GBase. These are for example registry classes, which will be derived from GRegistry. Below a list of classes that will not be derived from GBase (with the reason for not basing the class on GBase in parentheses):
  • GException (special)
  • GLog (special)
  • GFunction (reduce implementation load)
  • GIntegrand (reduce implementation load)
  • GOptimizerFunction (reduce implementation load)
  • GRegistry (interface class)
  • GSparseNumeric (internal)
  • GSparseSymbolic (internal)
  • GTestSuite (reduce implementation load)

Also available in: PDF HTML TXT