{{lastupdated_at}} by {{lastupdated_by}} {{>toc}} h1. Development Notes This page summarizes development notes for the GammaLib software. The page is organized following the module structure of GammaLib. Please use these pages to track your developments and any information related to your coding. For example, note the basic assumptions that have been made in implementing the code. Or note a kluge that was used. Also, specify if things need to be improved further. If you add a new page, please put
{{lastupdated_at}} by {{lastupdated_by}}
in the first line of the Wiki page so that the modification date and the person who did the modification is visible at top of the page. h2. Introduction As introduction, here are a number of useful links and pages that introduce the style and methods that are used for the GammaLib developments. * "Coding and Design Conventions":http://gammalib.sourceforge.net/coding/index.html * [[Coding principles]] * [[Coding techniques]] * "C++ Style and Technique FAQ":http://www.stroustrup.com/bs_faq2.html h2. General considerations * [[Naming conventions]] * [[Exceptions]] * [[Printing]] h2. Base classes (base) * [[GBase]] - GammaLib interface class * [[GRegistry]] - Registry interface class * [[GContainer]] - Container interface class h2. High-level analysis support h3. Observation handling (obs) * [[GObservations]] - Observation container * [[GObservation]] - Abstract observation base class * [[GTime]] - GammaLib time representation h3. Model handling (model) * [[GModels]] - Model container * [[GModel]] - Abstract model base class * [[GModelSky]] - Sky models * [[GModelSpectralExpPlaw]] - Exponential power law spectrum * [[GModelSpectralGauss]] - Gaussian (for lines) * [[GModelSpectralNodes]] - Node function * [[GModelSpectralLogParabola]] - Log parabola spectrum * [[GModelSpectralPlaw]] - Power law spectrum (defined by intensity at pivot energy) * [[GModelSpectralPlaw2]] - Power law spectrum (defined by integral flux) h3. Skymap handling (sky) * [[GRegion]] - Region handling * [[GSkyDir]] - Sky direction handling h3. Application handling (app) h2. Instrument specific modules (inst) * [[CTA interface]] (cta) * [[Fermi/LAT interface]] (lat) * [[CGRO/COMPTEL interface]] (com) * [[COSI interface]] (cos) * [[INTEGRAL/SPI interface]] (spi) * [[Multi-wavelength interface]] (mwl) h2. Core services h3. Numerics (numerics) h3. Linear algebra (linalg) h3. Optimizers (opt) * [[GOptimizerLM]] - Levenberg Marquardt optimizer h3. Support functions (support) h2. Interfaces h3. FITS interface (fits) h3. XML interface (xml) h3. Virtual Observatory interface (vo) h2. Test suites (test) * [[Unit testing]] h2. Python bindings * [[Python 2.x versus Python 3.x]]