diff --git a/include/GCaldb.hpp b/include/GCaldb.hpp index efaa348..c5822ef 100644 --- a/include/GCaldb.hpp +++ b/include/GCaldb.hpp @@ -28,11 +28,10 @@ #define GCALDB_HPP /* __ Includes ___________________________________________________________ */ -#include #include #include "GBase.hpp" #include "GFits.hpp" -#include "GFitsBinTable.hpp" +#include "GFitsTable.hpp" /***********************************************************************//** diff --git a/include/GCsv.hpp b/include/GCsv.hpp index 2dd7a9f..3837fba 100644 --- a/include/GCsv.hpp +++ b/include/GCsv.hpp @@ -30,9 +30,7 @@ /* __ Includes ___________________________________________________________ */ #include #include -#include #include "GBase.hpp" -#include "GLog.hpp" /***********************************************************************//** diff --git a/include/GDerivative.hpp b/include/GDerivative.hpp index 7122f3d..79e0033 100644 --- a/include/GDerivative.hpp +++ b/include/GDerivative.hpp @@ -29,7 +29,6 @@ /* __ Includes ___________________________________________________________ */ #include -#include #include "GBase.hpp" #include "GFunction.hpp" diff --git a/include/GEbounds.hpp b/include/GEbounds.hpp index 9675bfd..67300e4 100644 --- a/include/GEbounds.hpp +++ b/include/GEbounds.hpp @@ -28,7 +28,6 @@ #define GEBOUNDS_HPP /* __ Includes ___________________________________________________________ */ -#include #include #include "GBase.hpp" #include "GFits.hpp" diff --git a/include/GFitsTableCol.hpp b/include/GFitsTableCol.hpp index 9f4963b..919592b 100644 --- a/include/GFitsTableCol.hpp +++ b/include/GFitsTableCol.hpp @@ -30,6 +30,7 @@ /* __ Includes ___________________________________________________________ */ #include #include +#include "GBase.hpp" /***********************************************************************//** diff --git a/include/GModelPar.hpp b/include/GModelPar.hpp index 45a7f08..63f2246 100644 --- a/include/GModelPar.hpp +++ b/include/GModelPar.hpp @@ -30,7 +30,6 @@ /* __ Includes ___________________________________________________________ */ #include #include "GBase.hpp" -#include "GException.hpp" #include "GXmlElement.hpp" diff --git a/include/GModels.hpp b/include/GModels.hpp index 1a77f10..b4527d0 100644 --- a/include/GModels.hpp +++ b/include/GModels.hpp @@ -28,6 +28,7 @@ #define GMODELS_HPP /* __ Includes ___________________________________________________________ */ +#include #include "GOptimizerPars.hpp" #include "GModel.hpp" #include "GXml.hpp" diff --git a/include/GNodeArray.hpp b/include/GNodeArray.hpp index 3080d40..b3f84a8 100644 --- a/include/GNodeArray.hpp +++ b/include/GNodeArray.hpp @@ -30,7 +30,6 @@ /* __ Includes ___________________________________________________________ */ #include #include -#include #include "GBase.hpp" #include "GVector.hpp" diff --git a/include/GOptimizer.hpp b/include/GOptimizer.hpp index 46b44d6..8ed7b2e 100644 --- a/include/GOptimizer.hpp +++ b/include/GOptimizer.hpp @@ -29,9 +29,7 @@ /* __ Includes ___________________________________________________________ */ #include -#include #include "GBase.hpp" -#include "GLog.hpp" #include "GOptimizerPars.hpp" #include "GOptimizerFunction.hpp" #include "GModels.hpp" @@ -46,10 +44,6 @@ ***************************************************************************/ class GOptimizer : public GBase { - // I/O friends - friend std::ostream& operator<<(std::ostream& os, const GOptimizer& opt); - friend GLog& operator<<(GLog& log, const GOptimizer& opt); - public: // Constructors and destructors GOptimizer(void); diff --git a/include/GPointing.hpp b/include/GPointing.hpp index b5b43b4..6eb82d7 100644 --- a/include/GPointing.hpp +++ b/include/GPointing.hpp @@ -31,7 +31,6 @@ #include #include "GBase.hpp" #include "GSkyDir.hpp" -#include "GTime.hpp" /***********************************************************************//** @@ -39,8 +38,7 @@ * * @brief Interface for the pointing classes * - * The pointing class holds information about the time dependent telescope - * pointing. + * The pointing class holds information about the telescope pointing. ***************************************************************************/ class GPointing : public GBase { diff --git a/include/GRan.hpp b/include/GRan.hpp index 844ac67..189ca6b 100644 --- a/include/GRan.hpp +++ b/include/GRan.hpp @@ -29,11 +29,7 @@ /* __ Includes ___________________________________________________________ */ #include -#include #include "GBase.hpp" -#include "GSkyDir.hpp" -#include "GEnergy.hpp" -#include "GTime.hpp" /***********************************************************************//** diff --git a/include/GTestCase.hpp b/include/GTestCase.hpp index 8e3f84f..03a9f73 100644 --- a/include/GTestCase.hpp +++ b/include/GTestCase.hpp @@ -28,7 +28,6 @@ #define GTESTCASE_H /* __ Includes ___________________________________________________________ */ -#include #include #include "GBase.hpp" diff --git a/include/GTestSuite.hpp b/include/GTestSuite.hpp index e63e4cc..3ae68fa 100644 --- a/include/GTestSuite.hpp +++ b/include/GTestSuite.hpp @@ -34,7 +34,6 @@ class GTestSuite; typedef void (GTestSuite::*pfunction)(void); /* __ Includes ___________________________________________________________ */ -#include #include #include #include "GLog.hpp" diff --git a/pyext/GCaldb.i b/pyext/GCaldb.i index 21f0af8..c52c233 100644 --- a/pyext/GCaldb.i +++ b/pyext/GCaldb.i @@ -1,7 +1,7 @@ /*************************************************************************** * GCaldb.i - Calibration database class * * ----------------------------------------------------------------------- * - * copyright (C) 2011 by Juergen Knoedlseder * + * copyright (C) 2011-2012 by Juergen Knoedlseder * * ----------------------------------------------------------------------- * * * * This program is free software: you can redistribute it and/or modify * @@ -21,7 +21,7 @@ /** * @file GCaldb.i * @brief Calibration database class interface definition - * @author J. Knoedlseder + * @author Juergen Knoedlseder */ %{ /* Put headers and other declarations here that are needed for compilation */ @@ -35,7 +35,7 @@ * * @brief Interface for the Calibration database class ***************************************************************************/ -class GCaldb { +class GCaldb : public GBase { public: // Constructors and destructors GCaldb(void); diff --git a/pyext/GEbounds.i b/pyext/GEbounds.i index 940886a..752d865 100644 --- a/pyext/GEbounds.i +++ b/pyext/GEbounds.i @@ -1,7 +1,7 @@ /*************************************************************************** * GEbounds.i - Energy boundary class python I/F * * ----------------------------------------------------------------------- * - * copyright (C) 2010-2011 by Jurgen Knodlseder * + * copyright (C) 2010-2012 by Juergen Knoedlseder * * ----------------------------------------------------------------------- * * * * This program is free software: you can redistribute it and/or modify * @@ -21,7 +21,7 @@ /** * @file GEbounds.i * @brief GEbounds class python interface - * @author J. Knodlseder + * @author Juergen Knoedlseder */ %{ /* Put headers and other declarations here that are needed for compilation */ @@ -37,7 +37,7 @@ * * This class holds a list of energy intervals. ***************************************************************************/ -class GEbounds { +class GEbounds : public GBase { public: // Constructors and destructors GEbounds(void); @@ -46,26 +46,27 @@ public: virtual ~GEbounds(void); // Methods - void clear(void); - void append(const GEnergy& emin, const GEnergy& emax); - void insert(const GEnergy& emin, const GEnergy& emax); - void setlin(const GEnergy& emin, const GEnergy& emax, const int& num); - void setlog(const GEnergy& emin, const GEnergy& emax, const int& num); - void load(const std::string& filename, - const std::string& extname); - void save(const std::string& filename, bool clobber, - const std::string& extname) const; - void read(GFitsTable* hdu); - void write(GFits* file, const std::string& extname) const; - int index(const GEnergy& eng) const; - int size(void) const { return m_num; } - GEnergy emin(void) const { return m_emin; } - GEnergy emax(void) const { return m_emax; } - GEnergy emin(int inx) const; - GEnergy emax(int inx) const; - GEnergy emean(int inx) const; - GEnergy elogmean(int inx) const; - bool isin(const GEnergy& eng) const; + void clear(void); + GEbounds* clone(void) const; + void append(const GEnergy& emin, const GEnergy& emax); + void insert(const GEnergy& emin, const GEnergy& emax); + void setlin(const GEnergy& emin, const GEnergy& emax, const int& num); + void setlog(const GEnergy& emin, const GEnergy& emax, const int& num); + void load(const std::string& filename, + const std::string& extname); + void save(const std::string& filename, bool clobber, + const std::string& extname) const; + void read(GFitsTable* hdu); + void write(GFits* file, const std::string& extname) const; + int index(const GEnergy& eng) const; + int size(void) const; + GEnergy emin(void) const; + GEnergy emax(void) const; + GEnergy emin(int inx) const; + GEnergy emax(int inx) const; + GEnergy emean(int inx) const; + GEnergy elogmean(int inx) const; + bool isin(const GEnergy& eng) const; }; diff --git a/pyext/GEnergy.i b/pyext/GEnergy.i index 8059c04..ae01e9f 100644 --- a/pyext/GEnergy.i +++ b/pyext/GEnergy.i @@ -40,7 +40,7 @@ * units. This makes instrument specific implementations more robust and * reduces the risk of unit errors. ***************************************************************************/ -class GEnergy { +class GEnergy : public GBase { public: // Constructors and destructors GEnergy(void); diff --git a/pyext/GEvent.i b/pyext/GEvent.i index a87b3f7..78f461e 100644 --- a/pyext/GEvent.i +++ b/pyext/GEvent.i @@ -1,7 +1,7 @@ /*************************************************************************** * GEvent.i - Abstract event class python I/F * * ----------------------------------------------------------------------- * - * copyright (C) 2010-2011 by Jurgen Knodlseder * + * copyright (C) 2010-2012 by Juergen Knoedlseder * * ----------------------------------------------------------------------- * * * * This program is free software: you can redistribute it and/or modify * @@ -21,7 +21,7 @@ /** * @file GEvent.i * @brief GEvent class python interface - * @author J. Knodlseder + * @author Juergen Knoedlseder */ %{ /* Put headers and other declarations here that are needed for compilation */ @@ -63,7 +63,7 @@ * The GEvent class does not hold any data members. Data members are stored * in the derived classes. ***************************************************************************/ -class GEvent { +class GEvent : public GBase { public: // Constructors and destructors diff --git a/pyext/GEvents.i b/pyext/GEvents.i index 7abef2b..0bddd1b 100644 --- a/pyext/GEvents.i +++ b/pyext/GEvents.i @@ -1,7 +1,7 @@ /*************************************************************************** * GEvents.i - Abstract event container class * * ----------------------------------------------------------------------- * - * copyright (C) 2010-2011 by Juergen Knoedlseder * + * copyright (C) 2010-2012 by Juergen Knoedlseder * * ----------------------------------------------------------------------- * * * * This program is free software: you can redistribute it and/or modify * @@ -21,7 +21,7 @@ /** * @file GEvents.i * @brief Abstract event container class Python interface definition - * @author J. Knoedlseder + * @author Juergen Knoedlseder */ %{ /* Put headers and other declarations here that are needed for compilation */ @@ -35,7 +35,7 @@ * * @brief Abstract event container class Python interface ***************************************************************************/ -class GEvents { +class GEvents : public GBase { public: // Constructors and destructors GEvents(void); diff --git a/pyext/GFits.i b/pyext/GFits.i index bd5aab8..ace7a19 100644 --- a/pyext/GFits.i +++ b/pyext/GFits.i @@ -56,7 +56,7 @@ * via members of GFits. A FITS file is composed of Header Data Units (HDU) * which are implemented by the GFitsHDU class. ***************************************************************************/ -class GFits { +class GFits : public GBase { public: // Constructors and destructors diff --git a/pyext/GFitsHeader.i b/pyext/GFitsHeader.i index 6c607ef..f648834 100644 --- a/pyext/GFitsHeader.i +++ b/pyext/GFitsHeader.i @@ -43,7 +43,7 @@ * saved into another file (using the 'save' method). Cards are added or * changed using the 'update' method. ***************************************************************************/ -class GFitsHeader { +class GFitsHeader : public GBase { public: // Constructors and destructors GFitsHeader(void); diff --git a/pyext/GFitsHeaderCard.i b/pyext/GFitsHeaderCard.i index c5a7b06..103cd68 100644 --- a/pyext/GFitsHeaderCard.i +++ b/pyext/GFitsHeaderCard.i @@ -40,7 +40,8 @@ * keyname (string), a value (string, floating pointer, integer or logical) * and a comment (string). COMMENT or HISTORY cards do not have any value. ***************************************************************************/ -class GFitsHeaderCard { +class GFitsHeaderCard : public GBase { + public: // Constructors & Destructors GFitsHeaderCard(void); diff --git a/pyext/GFitsTableCol.i b/pyext/GFitsTableCol.i index a197564..83cbe54 100644 --- a/pyext/GFitsTableCol.i +++ b/pyext/GFitsTableCol.i @@ -49,7 +49,8 @@ * * @brief FITS table column abstract Python base class definition ***************************************************************************/ -class GFitsTableCol { +class GFitsTableCol : public GBase { + public: // Constructors and destructors GFitsTableCol(void); diff --git a/pyext/GGti.i b/pyext/GGti.i index 9c6351e..c5a5495 100644 --- a/pyext/GGti.i +++ b/pyext/GGti.i @@ -1,7 +1,7 @@ /*************************************************************************** * GGti.i - Good time interval class * * ----------------------------------------------------------------------- * - * copyright (C) 2010-2011 by Juergen Knoedlseder * + * copyright (C) 2010-2012 by Juergen Knoedlseder * * ----------------------------------------------------------------------- * * * * This program is free software: you can redistribute it and/or modify * @@ -21,7 +21,7 @@ /** * @file GGti.i * @brief Good time interval class Python interface definition - * @author J. Knoedlseder + * @author Juergen Knoedlseder */ %{ /* Put headers and other declarations here that are needed for compilation */ @@ -38,7 +38,7 @@ * This class holds a list of Good Time Intervals, i.e. time intervals that * are valid for science analysis. Times are stored using the GTime class. ***************************************************************************/ -class GGti { +class GGti : public GBase { public: // Constructors and destructors GGti(void); @@ -47,6 +47,7 @@ public: // Methods void clear(void); + GGti* clone(void) const; int size(void) const; void add(const GTime& tstart, const GTime& tstop); void append(const GTime& tstart, const GTime& tstop); @@ -64,7 +65,7 @@ public: GTime tstop(int inx) const; double telapse(void) const; double ontime(void) const; - double mjdref(void) const { return m_mjdref; } + double mjdref(void) const; bool isin(const GTime& time) const; }; diff --git a/pyext/GInstDir.i b/pyext/GInstDir.i index 8de7213..cd02adc 100644 --- a/pyext/GInstDir.i +++ b/pyext/GInstDir.i @@ -1,7 +1,7 @@ /*************************************************************************** * GInstDir.i - Instrument direction class python I/F * * ----------------------------------------------------------------------- * - * copyright (C) 2010-2011 by Jurgen Knodlseder * + * copyright (C) 2010-2012 by Juergen Knoedlseder * * ----------------------------------------------------------------------- * * * * This program is free software: you can redistribute it and/or modify * @@ -21,7 +21,7 @@ /** * @file GInstDir.i * @brief GInstDir class python interface - * @author J. Knodlseder + * @author Juergen Knoedlseder */ %{ /* Put headers and other declarations here that are needed for compilation */ @@ -42,7 +42,8 @@ * reconstructions for imaging devices or detector numbers etc. for * non-imaging devices. ***************************************************************************/ -class GInstDir { +class GInstDir : public GBase { + public: // Constructors and destructors GInstDir(void); diff --git a/pyext/GIntegral.i b/pyext/GIntegral.i index a0fa895..3df2501 100644 --- a/pyext/GIntegral.i +++ b/pyext/GIntegral.i @@ -1,7 +1,7 @@ /*************************************************************************** * GIntegral.hpp - Integration class * * ----------------------------------------------------------------------- * - * copyright (C) 2010-2011 by Jurgen Knodlseder * + * copyright (C) 2010-2012 by Juergen Knoedlseder * * ----------------------------------------------------------------------- * * * * This program is free software: you can redistribute it and/or modify * @@ -21,7 +21,7 @@ /** * @file GIntegral.hpp * @brief Integration class Python interface definition - * @author J. Knodlseder + * @author Juergen Knoedlseder */ %{ /* Put headers and other declarations here that are needed for compilation */ @@ -38,7 +38,7 @@ * This class allows to perform integration using various methods. The * integrand is implemented by a derived class of GIntegrand. ***************************************************************************/ -class GIntegral { +class GIntegral : public GBase { public: // Constructors and destructors diff --git a/pyext/GModel.i b/pyext/GModel.i index 38987fc..0f7fc1a 100644 --- a/pyext/GModel.i +++ b/pyext/GModel.i @@ -1,7 +1,7 @@ /*************************************************************************** * GModel.i - Abstract virtual model base class * * ----------------------------------------------------------------------- * - * copyright (C) 2009-2011 by Juergen Knoedlseder * + * copyright (C) 2009-2012 by Juergen Knoedlseder * * ----------------------------------------------------------------------- * * * * This program is free software: you can redistribute it and/or modify * @@ -21,7 +21,7 @@ /** * @file GModel.i * @brief Abstract model base class python interface - * @author J. Knoedlseder + * @author Juergen Knoedlseder */ %{ /* Put headers and other declarations here that are needed for compilation */ @@ -35,7 +35,8 @@ * * @brief Abstract model base class python interface ***************************************************************************/ -class GModel { +class GModel : public GBase { + public: // Constructors and destructors GModel(void); diff --git a/pyext/GModelPar.i b/pyext/GModelPar.i index e1130c2..9fcb9a8 100644 --- a/pyext/GModelPar.i +++ b/pyext/GModelPar.i @@ -1,7 +1,7 @@ /*************************************************************************** * GModelPar.i - Model parameter class Python interface * * ----------------------------------------------------------------------- * - * copyright (C) 2009-2011 by Jurgen Knodlseder * + * copyright (C) 2009-2012 by Juergen Knoedlseder * * ----------------------------------------------------------------------- * * * * This program is free software: you can redistribute it and/or modify * @@ -21,7 +21,7 @@ /** * @file GModelPar.i * @brief Model parameter class Python interface - * @author J. Knodlseder + * @author Juergen Knoedlseder */ %{ /* Put headers and other declarations here that are needed for compilation */ @@ -35,7 +35,8 @@ * * @brief Model parameter class ***************************************************************************/ -class GModelPar { +class GModelPar : public GBase { + public: // Constructors and destructors GModelPar(void); diff --git a/pyext/GNodeArray.i b/pyext/GNodeArray.i index f42bd7d..4e640f0 100644 --- a/pyext/GNodeArray.i +++ b/pyext/GNodeArray.i @@ -21,7 +21,7 @@ /** * @file GNodeArray.i * @brief Node array class Python interface definition - * @author J. Knoedlseder + * @author Juergen Knoedlseder */ %{ /* Put headers and other declarations here that are needed for compilation */ @@ -35,7 +35,8 @@ * * @brief Python interface for the node array class ***************************************************************************/ -class GNodeArray { +class GNodeArray : public GBase { + public: // Constructors and destructors GNodeArray(void); diff --git a/pyext/GObservation.i b/pyext/GObservation.i index 26249c5..3c46d0c 100644 --- a/pyext/GObservation.i +++ b/pyext/GObservation.i @@ -1,7 +1,7 @@ /*************************************************************************** * GObservation.i - Abstract observation abstract base class * * ----------------------------------------------------------------------- * - * copyright (C) 2008-2011 by Juergen Knoedlseder * + * copyright (C) 2008-2012 by Juergen Knoedlseder * * ----------------------------------------------------------------------- * * * * This program is free software: you can redistribute it and/or modify * @@ -21,7 +21,7 @@ /** * @file GObservation.i * @brief Abstract observation base class Python interface definition - * @author J. Knoedlseder + * @author Juergen Knoedlseder */ %{ /* Put headers and other declarations here that are needed for compilation */ @@ -35,7 +35,8 @@ * * @brief Abstract Python interface for the observation classes ***************************************************************************/ -class GObservation { +class GObservation : public GBase { + public: // Constructors and destructors GObservation(void); diff --git a/pyext/GOptimizer.i b/pyext/GOptimizer.i index 32c53c7..ef11fac 100644 --- a/pyext/GOptimizer.i +++ b/pyext/GOptimizer.i @@ -1,7 +1,7 @@ /*************************************************************************** * GOptimizer.i - Optimizer class Python interface * * ----------------------------------------------------------------------- * - * copyright (C) 2009-2011 by Jurgen Knodlseder * + * copyright (C) 2009-2012 by Juergen Knoedlseder * * ----------------------------------------------------------------------- * * * * This program is free software: you can redistribute it and/or modify * @@ -21,7 +21,7 @@ /** * @file GOptimizer.i * @brief Optimizer abstract base class Python interface - * @author J. Knodlseder + * @author Juergen Knoedlseder */ %{ /* Put headers and other declarations here that are needed for compilation */ @@ -37,7 +37,8 @@ * * This class defines the abstract interface for the optimizer class. ***************************************************************************/ -class GOptimizer { +class GOptimizer : public GBase { + public: // Constructors and destructors GOptimizer(void); diff --git a/pyext/GPars.i b/pyext/GPars.i index 0efbf46..69b378c 100644 --- a/pyext/GPars.i +++ b/pyext/GPars.i @@ -1,7 +1,7 @@ /*************************************************************************** * GPars.i - Application parameters Python interface * * ----------------------------------------------------------------------- * - * copyright (C) 2010-2011 by Jurgen Knodlseder * + * copyright (C) 2010-2012 by Juergen Knoedlseder * * ----------------------------------------------------------------------- * * * * This program is free software: you can redistribute it and/or modify * @@ -21,7 +21,7 @@ /** * @file GPars.i * @brief Application parameter container class Python interface definition - * @author Jurgen Knodlseder + * @author Juergen Knoedlseder */ %{ /* Put headers and other declarations here that are needed for compilation */ @@ -36,7 +36,7 @@ * * @brief Application parameter container class ***************************************************************************/ -class GPars { +class GPars : public GBase { public: // Constructors and destructors @@ -47,15 +47,15 @@ public: virtual ~GPars(void); // Methods - void clear(void); - GPars* clone(void) const; - int size(void) const; - void append(const GPar& par); - void append_standard(void); - void load(const std::string& filename); - void load(const std::string& filename, const std::vector& args); - void save(const std::string& filename); - bool haspar(const std::string& name) const; + void clear(void); + GPars* clone(void) const; + int size(void) const; + void append(const GPar& par); + void append_standard(void); + void load(const std::string& filename); + void load(const std::string& filename, const std::vector& args); + void save(const std::string& filename); + bool haspar(const std::string& name) const; }; diff --git a/pyext/GPointing.i b/pyext/GPointing.i index c272b07..bafe989 100644 --- a/pyext/GPointing.i +++ b/pyext/GPointing.i @@ -1,7 +1,7 @@ /*************************************************************************** * GPointing.i - Abstract pointing class * * ----------------------------------------------------------------------- * - * copyright (C) 2010-2011 by Jurgen Knodlseder * + * copyright (C) 2010-2012 by Juergen Knoedlseder * * ----------------------------------------------------------------------- * * * * This program is free software: you can redistribute it and/or modify * @@ -21,7 +21,7 @@ /** * @file GPointing.i * @brief Abstract pointing class Python interface definition. - * @author J. Knodlseder + * @author Juergen Knoedlseder */ %{ /* Put headers and other declarations here that are needed for compilation */ @@ -35,7 +35,7 @@ * * @brief Abstract Pointing class ***************************************************************************/ -class GPointing { +class GPointing : public GBase { public: // Constructors and destructors diff --git a/pyext/GResponse.i b/pyext/GResponse.i index b8619ad..a1f13a8 100644 --- a/pyext/GResponse.i +++ b/pyext/GResponse.i @@ -1,7 +1,7 @@ /*************************************************************************** * GResponse.i - Abstract response base class * * ----------------------------------------------------------------------- * - * copyright (C) 2008-2011 by Jurgen Knodlseder * + * copyright (C) 2008-2012 by Juergen Knoedlseder * * ----------------------------------------------------------------------- * * * * This program is free software: you can redistribute it and/or modify * @@ -21,7 +21,7 @@ /** * @file GResponse.i * @brief Abstract response base class Python interface definition - * @author J. Knodlseder + * @author Juergen Knoedlseder */ %{ /* Put headers and other declarations here that are needed for compilation */ @@ -35,7 +35,7 @@ * * @brief Abstract response base class ***************************************************************************/ -class GResponse { +class GResponse : public GBase { public: // Constructors and destructors diff --git a/pyext/GRoi.i b/pyext/GRoi.i index 9ba911c..2d97e61 100644 --- a/pyext/GRoi.i +++ b/pyext/GRoi.i @@ -1,7 +1,7 @@ /*************************************************************************** * GRoi.i - Region of interest abstract base class * * ----------------------------------------------------------------------- * - * copyright (C) 2010-2011 by Jurgen Knodlseder * + * copyright (C) 2010-2012 by Juergen Knoedlseder * * ----------------------------------------------------------------------- * * * * This program is free software: you can redistribute it and/or modify * @@ -21,7 +21,7 @@ /** * @file GRoi.i * @brief GRoi class python interface - * @author J. Knodlseder + * @author Juergen Knoedlseder */ %{ /* Put headers and other declarations here that are needed for compilation */ @@ -40,7 +40,8 @@ * for an analysis. In particular, the definition of a region of interest * is required for an unbinned analysis. ***************************************************************************/ -class GRoi { +class GRoi : public GBase { + public: // Constructors and destructors GRoi(void); diff --git a/pyext/GSkyDir.i b/pyext/GSkyDir.i index 5171de9..1c758f1 100644 --- a/pyext/GSkyDir.i +++ b/pyext/GSkyDir.i @@ -35,7 +35,7 @@ * * @brief Sky direction class ***************************************************************************/ -class GSkyDir { +class GSkyDir : public GBase { public: // Constructors and destructors diff --git a/pyext/GSkyPixel.i b/pyext/GSkyPixel.i index 7297ee8..5ef11e9 100644 --- a/pyext/GSkyPixel.i +++ b/pyext/GSkyPixel.i @@ -35,7 +35,8 @@ * * @brief GSkyPixel class interface defintion ***************************************************************************/ -class GSkyPixel { +class GSkyPixel : public GBase { + public: // Constructors and destructors GSkyPixel(void); diff --git a/pyext/GSkymap.i b/pyext/GSkymap.i index 7d5d6e4..8b5335c 100644 --- a/pyext/GSkymap.i +++ b/pyext/GSkymap.i @@ -21,7 +21,7 @@ /** * @file GSkymap.i * @brief Sky map class SWIG file. - * @author J. Knoedlseder + * @author Juergen Knoedlseder */ %{ /* Put headers and other declarations here that are needed for compilation */ @@ -105,7 +105,8 @@ static int skymap_tuple(PyObject *input, int *ptr) { * * @brief GSkymap class interface defintion ***************************************************************************/ -class GSkymap { +class GSkymap : public GBase { + public: // Constructors and destructors GSkymap(void); @@ -121,12 +122,13 @@ public: virtual ~GSkymap(void); // Methods + void clear(void); + GSkymap* clone(void) const; GSkyDir pix2dir(const int& pix); int dir2pix(const GSkyDir& dir) const; double omega(const int& pix) const; GSkyDir xy2dir(const GSkyPixel& pix); GSkyPixel dir2xy(const GSkyDir& dir) const; - void clear(void); void load(const std::string& filename); void save(const std::string& filename, bool clobber = false) const; void read(const GFitsHDU* hdu); diff --git a/pyext/GTestSuites.i b/pyext/GTestSuites.i index f8f9de1..fc1bfb3 100644 --- a/pyext/GTestSuites.i +++ b/pyext/GTestSuites.i @@ -35,7 +35,7 @@ * * @brief Test suites Python interface defintion ***************************************************************************/ -class GTestSuites { +class GTestSuites : public GBase { public: diff --git a/pyext/GTime.i b/pyext/GTime.i index 04645e8..3d1dc82 100644 --- a/pyext/GTime.i +++ b/pyext/GTime.i @@ -40,7 +40,8 @@ * The GTime class stores a time value in seconds and its MJD reference in * days. The time can be retrieved in any MJD reference. ***************************************************************************/ -class GTime { +class GTime : public GBase { + public: // Constructors and destructors GTime(void); diff --git a/pyext/GWcs.i b/pyext/GWcs.i index 8866560..3889517 100644 --- a/pyext/GWcs.i +++ b/pyext/GWcs.i @@ -1,7 +1,7 @@ /*************************************************************************** * GWcs.i - World Coordinate System virtual base class * * ----------------------------------------------------------------------- * - * copyright (C) 2010-2011 by Jurgen Knodlseder * + * copyright (C) 2010-2012 by Juergen Knoedlseder * * ----------------------------------------------------------------------- * * * * This program is free software: you can redistribute it and/or modify * @@ -21,7 +21,7 @@ /** * @file GWcs.i * @brief World Coordinate System virtual base class Python interface - * @author J. Knodlseder + * @author Juergen Knoedlseder */ %{ /* Put headers and other declarations here that are needed for compilation */ @@ -35,7 +35,8 @@ * * @brief World Coordinate System virtual base class Python interface ***************************************************************************/ -class GWcs { +class GWcs : public GBase { + public: // Constructors and destructors GWcs(void); diff --git a/pyext/GXmlNode.i b/pyext/GXmlNode.i index 2a9a835..8cf9ed4 100644 --- a/pyext/GXmlNode.i +++ b/pyext/GXmlNode.i @@ -1,7 +1,7 @@ /*************************************************************************** * GXmlNode.i - Abstract XML node base class * * ----------------------------------------------------------------------- * - * copyright (C) 2010-2011 by Jurgen Knodlseder * + * copyright (C) 2010-2012 by Juergen Knoedlseder * * ----------------------------------------------------------------------- * * * * This program is free software: you can redistribute it and/or modify * @@ -21,7 +21,7 @@ /** * @file GXmlNode.i * @brief Abstract XML node base class Python interface definition - * @author J. Knodlseder + * @author Juergen Knoedlseder */ %{ /* Put headers and other declarations here that are needed for compilation */ @@ -37,7 +37,7 @@ * * This class defines an abstract node of a XML document. ***************************************************************************/ -class GXmlNode { +class GXmlNode : public GBase { public: // Constructors and destructors @@ -58,9 +58,10 @@ public: }; // Pure virtual methods - virtual void clear(void) = 0; - virtual void write(FILE* fptr, int indent = 0) const = 0; - virtual NodeType type(void) const = 0; + virtual void clear(void) = 0; + virtual GXmlNode* clone(void) const = 0; + virtual void write(FILE* fptr, int indent = 0) const = 0; + virtual NodeType type(void) const = 0; // Methods void append(GXmlNode* node); diff --git a/src/model/GModelRegistry.cpp b/src/model/GModelRegistry.cpp index 8367c21..44fa008 100644 --- a/src/model/GModelRegistry.cpp +++ b/src/model/GModelRegistry.cpp @@ -29,6 +29,7 @@ #include #endif #include "GModelRegistry.hpp" +#include "GException.hpp" #include "GTools.hpp" /* __ Static members _____________________________________________________ */ diff --git a/src/model/GModelSpectralRegistry.cpp b/src/model/GModelSpectralRegistry.cpp index 208e9ab..7f2e1eb 100644 --- a/src/model/GModelSpectralRegistry.cpp +++ b/src/model/GModelSpectralRegistry.cpp @@ -29,6 +29,7 @@ #include #endif #include "GModelSpectralRegistry.hpp" +#include "GException.hpp" #include "GTools.hpp" /* __ Static members _____________________________________________________ */ diff --git a/src/model/GModelTemporalRegistry.cpp b/src/model/GModelTemporalRegistry.cpp index 8f53882..9213b32 100644 --- a/src/model/GModelTemporalRegistry.cpp +++ b/src/model/GModelTemporalRegistry.cpp @@ -29,6 +29,7 @@ #include #endif #include "GModelTemporalRegistry.hpp" +#include "GException.hpp" #include "GTools.hpp" /* __ Static members _____________________________________________________ */ diff --git a/src/opt/GOptimizer.cpp b/src/opt/GOptimizer.cpp index 2390086..abc15a1 100644 --- a/src/opt/GOptimizer.cpp +++ b/src/opt/GOptimizer.cpp @@ -1,7 +1,7 @@ /*************************************************************************** * GOptimizer.cpp - Abstract base class for optimizer * * ----------------------------------------------------------------------- * - * copyright (C) 2009-2011 by Jurgen Knodlseder * + * copyright (C) 2009-2012 by Juergen Knoedlseder * * ----------------------------------------------------------------------- * * * * This program is free software: you can redistribute it and/or modify * @@ -21,7 +21,7 @@ /** * @file GOptimizer.cpp * @brief GOptimizer abstract base class implementation. - * @author J. Knodlseder + * @author Juergen Knoedlseder */ /* __ Includes ___________________________________________________________ */ @@ -160,42 +160,3 @@ void GOptimizer::free_members(void) // Return return; } - - -/*========================================================================== - = = - = Friends = - = = - ==========================================================================*/ - -/***********************************************************************//** - * @brief Output operator - * - * @param[in] os Output stream. - * @param[in] opt Optimizer. - ***************************************************************************/ -std::ostream& operator<< (std::ostream& os, const GOptimizer& opt) -{ - // Write optimizer in output stream - os << opt.print(); - - // Return output stream - return os; -} - - -/***********************************************************************//** - * @brief Log operator - * - * @param[in] log Logger. - * @param[in] opt Optimizer. - ***************************************************************************/ -GLog& operator<< (GLog& log, const GOptimizer& opt) -{ - // Write optimizer into logger - log << opt.print(); - - // Return logger - return log; -} -