Commit 81b60baee56f9c9bbfb6d089a2ff502e16ac000b

Authored by Pierrick Martin
2 parents f82edebf 07946a3a

Merge branch 'devel' into 1044-implement-onoff-fitting

.gitignore
... ... @@ -70,6 +70,7 @@ test-driver
70 70 src/gammalib-setup
71 71 src/template/test_GClass
72 72 doc/Doxyfile.bak
  73 +testconf.sh
73 74  
74 75 test/test_url.dat
75 76 test/*.xml
... ...
ChangeLog
  1 +2014-01-22 Juergen Knoedlseder <jurgen.knodlseder@irap.omp.eu>
  2 +
  3 + * Bug fix Version 0.8.1 released
  4 + ================================
  5 +
  6 + Added missing hyphens in pfiles synchronisation section (#1091)
  7 + Add configuration test script (#1091)
  8 + GModelSky, GCTAModelBackground and GCTAModelRadialAcceptance write
  9 + id attribute into XML file (#1092)
  10 +
1 11 2014-01-18 Juergen Knoedlseder <jurgen.knodlseder@irap.omp.eu>
2 12  
3 13 * Version 0.8.0 released
... ...
1   -vNew Features and Important Changes in GammaLib 00-08-00
  1 +New Features and Important Changes in GammaLib 00-08-01
2 2  
3 3 Author(s) : Juergen Knoedlseder
4 4  
5   -18 January 2014
  5 +22 January 2014
6 6  
7 7  
8 8 1. Introduction
... ... @@ -13,605 +13,84 @@ changes made since the last release of GammaLib.
13 13  
14 14 2. Public interface modifications
15 15 ---------------------------------
16   -This section summarizes all modifications of public class interfaces
17   -that will lead to compatibility issues with respect to the last
18   -GammaLib release.
19   -
20   -General
21   - All methods start with is..., has..., etc. have been renamed
22   - to is_..., has_..., etc. For example, isempty() now becomes
23   - is_empty().
24   -
25   -GApplicationPar
26   - The GPar class has been renamed to GApplicationPar.
27   -
28   -GApplicationPars
29   - The GPars class has been renamed to GApplicationPars. The class
30   - now derives from GContainer and implements the usual at(), size(),
31   - is_empty(), append(), insert(), remove(), reserve() and extent()
32   - methods. The haspar() method has been renamed to contains() for
33   - consistency.
34   -
35   -GApplications
36   - The par_filename() and log_filename() methods return a const
37   - reference string as the filenames are stored explicitly by the
38   - class.
39   -
40   -GBase
41   - The print() method now takes an optional argument of type GChatter
42   - that controls the chattiness of the object printing. The default
43   - chattiness is set to NORMAL.
44   -
45   -GEbounds
46   - The setlin() and setlog() methods have been renamed to set_lin() and
47   - set_log(). The number arguments in these methods has been moved
48   - from the last position to the first position in the argument list.
49   - The emin(), emax(), emean() and elogmean() methods now take a const
50   - integer reference as argument instead of an integer value. The read()
51   - and write() methods now use FITS references instead of pointers. The
52   - clobber argument in the save() method is passed as const reference.
53   -
54   -GEvents
55   -GEventList
56   - The clobber argument of the save() method is now passed as const
57   - reference.
58   -
59   -GEventCube
60   - The clobber argument of the save() method and the axis argument of the
61   - naxis() method are now passed as const references.
62   -
63   -GFits
64   - The GFits class now derives from GContainer and implements all generic
65   - container class methods (at(), size(), is_empty(), set(), append(),
66   - insert(), remove(), reserve(), extend()). The hashdu() method has
67   - been renamed to contains() for compliance with other container classes.
68   - The hdu() methods have been renamed to at(), also for compliance.
69   - Boolean arguments are now passed as const references, and members are
70   - returned as const references. HDU access operators[] have been
71   - implemented to access FITS extensions without range checking.
72   -
73   -GFitsAsciiTable
74   -GFitsBinTable
75   - The table constructors now take a const reference as argument.
76   -
77   -GFitsHDU
78   - The card() methods now return a reference instead of a pointer.
79   -
80   -GFitsHeader
81   - The GFitsHeader class now derives from GContainer and implements all
82   - generic container class methods (at(), size(), is_empty(), append(),
83   - insert(), remove(), reserve(), extend()). The hascard() methods have
84   - been renamed to contains() for compliance with other container classes.
85   - The card() methods have been renamed to at(), also for compliance.
86   - The card access operators and methods now return the cards by
87   - reference. Card access operators[] have been implemented to access
88   - header cards without range checking.
89   -
90   -GFitsImage
91   - All constructors and methods now take const references as arguments.
92   - The size(), bitpix(), naxis() and anynul() methods return const
93   - references, nulval() returns a const pointer.
94   -
95   -GFitsImageByte
96   -GFitsImageDouble
97   -GFitsImageFloat
98   -GFitsImageLong
99   -GFitsImageLongLong
100   -GFitsImageSByte
101   -GFitsImageShort
102   -GFitsImageULong
103   -GFitsImageUShort
104   - All constructors now take const references as arguments.
105   -
106   -GFitsTable
107   - The column table operator[] now returns a pointer instead of a
108   - reference. Set set() method has been added for column setting.
109   - The append_column() and insert_column() methods have been
110   - renamed to append() and insert(). The hascolumn() method has
111   - been renamed to contains().
112   -
113   -GFunction
114   - The eval() method now takes a const reference to a double precisio
115   - value as argument.
116   -
117   -GGti
118   - The read() and write() methods now use references instead of
119   - pointers. The clobber argument in the save() method is passed
120   - as const reference.
121   -
122   -GMatrixBase
123   -GMatrix
124   -GMatrixSparse (formerly GSparseMatrix)
125   -GMatrixSymmetric (formerly GSymMatrix)
126   - Renamed cols() method to columns(), renamed insert_row() and
127   - extract_row() to row(), renamed insert_col() and extract_col()
128   - to column(), renamed add_col() to add_to_column(), reorder
129   - arguments of GMatrixSparse::column() and GMatrixSparse::add_to_column()
130   - methods.
131   - The transpose(), inverse() and abs() inplace transformation methods have
132   - been replaced by methods that return a matrix. The transpose(),
133   - inverse(), abs(), and negate() friend functions have been removed.
134   -
135   -GModelPar
136   - The "real_" prefix has been stripped from the methods operating on
137   - true attributes, and the methods operating on unscaled attributes
138   - have been prefixed with "factor_". Some missing methods have been
139   - added. The name() and unit() methods now returns a const reference.
140   -
141   -GModelSky
142   - The value() and gradient() methods now take an object of type GPhoton
143   - as argument.
144   -
145   -GModelSpatial
146   -GModelSpatialPointSource
147   -GModelSpatialRadial
148   -GModelSpatialRadialDisk
149   -GModelSpatialRadialGauss
150   -GModelSpatialRadialShell
151   -GModelSpatialDiffuse
152   -GModelSpatialDiffuseConst
153   -GModelSpatialDiffuseCube
154   -GModelSpatialDiffuseMap
155   -GModelSpatialElliptical
156   -GModelSpatialEllipticalDisk
157   - The eval() and eval_gradients() methods now take an object of type
158   - GPhoton as argument. The eval_gradients() method is no longer declared
159   - as const. The mc() method now also takes a GEnergy and a GTime
160   - object as arguments.
161   -
162   -GModelSpectral
163   -GModelSpectralConst
164   -GModelSpectralExpPlaw
165   -GModelSpectralFunc
166   -GModelSpectralPlaw
167   -GModelSpectralPlaw2
168   -GModelSpectralNodes
169   -GModelSpectralLogParabola
170   - The eval() and eval_gradients() methods now take a GEnergy and a GTime
171   - object as arguments. The eval_gradients() method is no longer declared
172   - as const. The mc() method now also takes also a GTime object as argument.
173   -
174   -GModelTemporal
175   -GModelTemporalConst
176   - The eval_gradients() method is no longer declared as const.
177   -
178   -GModels
179   - The set() method has been added for model setting.
180   -
181   -GNodeArray
182   - The node array class now derives from GContainer, and all usual container
183   - methods have been implemented.
184   -
185   -GObservation
186   - The events() set method now takes a const reference instead of a const
187   - pointer as argument. The response() method now returns a const
188   - reference.
189   -
190   -GObservations
191   - The observation is now passed as const reference in the append()
192   - method (was non-const before). The observation iterator has been
193   - removed from the class. The reference returned by the models() method
194   - is now declared const. The operator[] now return a pointer instead
195   - of a reference and the set() method has been added for observation
196   - setting.
197   -
198   -GOptimizerFunction
199   - The value method now returns a value instead of a pointer. The
200   - covar() method has been renamed to curvature() as this is not
201   - the covariance but the curvature matrix.
202   -
203   -GOptimizer & GOptimizerLM
204   - The optimization operators have been removed and replaced by the
205   - optimize method.
206   -
207   -GPhoton
208   - Add mcid argument to Photon constructor (defaults to -1).
209   -
210   -GPointing
211   - Remove the class as no abstract pointing interface is needed
212   - so far.
213   -
214   -GSkymap
215   - Rename xy2dir() to pix2dir(), dir2xy() to dir2pix(), xy2pix() to
216   - pix2inx() and pix2xy() to inx2pix(). The nmaps argument in the
217   - sky map constructor is now passed by reference. The isinmap()
218   - method has been renamed to contains(). The read() and write()
219   - methods now take a reference instead of a pointer.
220   -
221   -GSkyPixel
222   - The class now supports 1D and 2D pixels. Type conversion methods
223   - have been added that allow assigning integer and double precision
224   - values from and to GSkyPixel for 1D pixels. A size() method has
225   - been added that returns the pixel dimension. Also the is_1D() and
226   - is_2D() methods can be used to determine whether a pixel is 1D
227   - or 2D. index() methods have been added to set and get 1D pixel
228   - values. A xy() method has been added to set x and y simultaneously
229   - for 2D pixels. 1D and 2D pixel constructors exist now for
230   - integer and double precision values.
231   -
232   -GTestCase
233   - The passed() method has been renamed to has_passed().
234   - The name(), message(), type(), kind(), has_passed() and
235   - duration() methods now all return a const reference.
236   -
237   -GTestSuite
238   - The GTestSuite class now derives from GBase. This implies that
239   - the clone() method needs to be implemented for derived classes.
240   - The test_assert() method now takes a const reference for the
241   - boolean argument. The name(), errors(), failures(), and
242   - timestamp() methods return const references. The obsolete
243   - add_test() method has been removed.
244   -
245   -GTestSuites
246   - The GTestSuites class now derives from GContainer and implements
247   - the usual container class methods (at(), size(), is_empty(),
248   - set(), append(), insert(), remove(), reserve() and extend()).
249   - The operator[] now returns pointers to GTestSuite. The name()
250   - and timestamp() methods now return const references.
251   -
252   -GTime
253   - The secs() method now returns a const reference.
254   -
255   -GTimeReference
256   - The load constructor and the read() and write() methods take
257   - a const reference instead of a pointer.
258   -
259   -GWcs => GSkyProjection
260   - The GWcs class has been renamed to GSkyProjection as it is more
261   - general than the World Coordinate Systems. A size() method has
262   - been added that returns the dimension of the projection (1D or
263   - 2D). The integer index methods have been removed as GSkyPixel
264   - now supports 1D and 2D pixels. The read() and write() methods
265   - now take a reference instead of a pointer. The omega() method
266   - has been renamed to solidangle().
267   -
268   -GWcslib => GWcs
269   - The GWcslib class has been renamed to GWcs. The class now conforms
270   - to the GSkyProjection base class interface. The read() and write()
271   - methods now take a reference instead of a pointer. The omega()
272   - method has been renamed to solidangle().
273   -
274   -GWcsHPX => GHealpix
275   - The GWcsHPX class has been renamed to GHealpix as the Healpix
276   - projection is not a World Coordinate System. GHealpix is no
277   - longer registered in GWcsRegistry. The read() and write()
278   - methods now take a reference instead of a pointer. The
279   - omega() method has been renamed to solidangle().
280   -
281   -GWcsRegistry
282   - Now holds objects of renamed type GWcs (see GHealpix).
283   -
284   -GCTAAeff2D
285   - The read() method now takes a reference instead of a pointer.
286   -
287   -GCTAAeffArf
288   - Rename read_arf() to read(). read() now takes a reference as
289   - argument instead of a pointer.
290   -
291   -GCTAObservation
292   - caldb argument to response() method now passed as const reference.
293   -
294   -GLATAeff
295   - read() method now take a const reference instead of a pointer.
296   - The clobber argument for the save() method is now a const
297   - reference.
298   -
299   -GLATEdisp
300   -GLATPsf
301   -GLATLtCube
302   - The clobber argument for the save() method is now a const
303   - reference.
304   -
305   -GLATPsfBase
306   - read() and read_scale() now take const reference instead of
307   - pointers as arguments. costhetamin(), front(), scale_par1(),
308   - scale_par2() and scale_index() now return const references.
309   -
310   -GLATPsfV1
311   -GLATPsfV3
312   - read() now takes a const reference instead of a pointer as
313   - argument.
314   -
315   -GLATLtCubeMap
316   - read() and write() methods now take a const reference instead of a
317   - pointer. ncostheta(), nphi() and costhetamin() now return const
318   - references.
319   -
320   -GLATMeanPsf
321   - offset(), energy(), dir(), name() and thetamax() now return const
322   - references.
323   -
324   -GLATResponse
325   - caldb(), rspname() and force_mean() now return const references.
326   -
327   -GLATResponseTable
328   - read() and write() methods now take a const reference instead of a
329   - pointer. nenergies() and ncostheta() return const references.
330   -
331   -GCOMPointing
332   -GLATPointing
333   - Remove class (is now obsolete as no GPointing base class exists
334   - anymore).
335   -
336   -GLATObservation
337   - ltcube() method now returns a const pointer and response() method
338   - takes a const reference as caldb argument.
339   -
340   -GLATEventBin
341   - cube() now returns a const pointer.
342   -
343   -GLATEventCube
344   - enodes() method is now declared const.
345   -
346   -GCOMEventBin
347   -GLATEventBin
348   - Renamed omega() to solidangle().
349   -
350   -GCOMResponse
351   - Renamed read_iaq() method to read(). The read() method now takes
352   - a const reference as argument.
353   -
354   -GMWLDatum
355   - energy_err(), flux(), and flux_err() methods now return const
356   - references.
357   -
358   -GMWLObservation
359   - filename(), extno() and extname() methods now return const
360   - references.
361   -
362   -GMWLSpectrum
363   - telescope() and instrument() methods now return const references.
364   -
365   -All GammaLib constants, defined in GTools.hpp, and functions are now
366   -put in the gammalib namespace to avoid name clashes. Mathematical
367   -constants and functions have been moved to a new model named GMath.
  16 +None
368 17  
369 18  
370 19 3. Configuration
371 20 -----------------
372   -Added the environment variable PACKAGE_SOURCE that is also available in
373   -config.h and that points to the source directory from which GammaLib is
374   -installed. This allows providing absolute paths for unit testing, a need
375   -for the special valgrind rule in case that Sonar is used for quality
376   -checking.
  21 +Some hyphens were missing in the configuration script when synchronising
  22 +the user and system parameter files. This led to an error message on the
  23 +console, but did not impact the proper configuration. Hyphens have now
  24 +been added as needed.
377 25  
378   -The configuration script now updates any parameter files in the users
379   -pfiles directory that is older than the system parameter files. This
380   -corrects for problems that arose when parameter files in the pfiles
381   -directory did not include all parameters necessary for the latest version.
  26 +The configuration test script testconf.sh has been added to allow testing
  27 +configuration script during continous integration.
382 28  
383 29  
384 30 4. Application module
385 31 ---------------------
386   -The GApplication class now stores explicitly the log and parameter file
387   -names. The log filename can be changed by specifying the "logfile"
388   -parameter of file type in the parameter file. If not specified, the
389   -application name suffixed with ".log" will be used as log filename.
  32 +None
390 33  
391 34  
392 35 5. Base module
393 36 --------------
394   -The GContainer interface class has been added to provide a common base
395   -class for all container classes. The following classes are now derived
396   -from GContainer:
397   -- GCTAOnOffObservations
398   -- GEbounds
399   -- GEnergies
400   -- GGti
401   -- GFits
402   -- GFitsHeader
403   -- GObservations
404   -- GOptimizerPars (and hence GModels)
405   -- GPars
406   -- GPhotons
407   -- GSkyRegions
408   -- GTimes
409   -- GTestSuites
410   -- GXml
411   -- GXmlNode
412   -
413   -Appropriate methods have been implemented in these classes to handle
414   -containers. They are not detailed here.
415   -
416   -Add smart pointer template class GRegistryPointer to the GRegistry header
417   -file that avoids memory leaks on exit of GammaLib.
  37 +None
418 38  
419 39  
420 40 6. FITS I/O Interface
421 41 ---------------------
422   -Variable-length columns are now supported by the FITS table classes.
423   -
424   -The GFits class is now organised as a container class, and HDU
425   -manipulations including setting, appending, inserting, removing
426   -or extending FITS extensions are now fully supported.
  42 +None
427 43  
428 44  
429 45 7. Linear algebra module
430 46 ------------------------
431   -The matrix classes have be renamed as follows:
432   -GMatrixBase
433   - |
434   - +-- GMatrix - generic matrix handling
435   - +-- GMatrixSparse - sparse matrix handling
436   - +-- GMatrixSymmetric - symmetric matrix handling
437   -
438   -The access operator does not provide argument checking anymore, at()
439   -methods have been added for matrix element access including argument
440   -checking.
441   -
442   -A value assignment operator has been added to assign a specific value
443   -to all matrix arguments.
  47 +None
444 48  
445 49  
446 50 8. Model module
447 51 ---------------
448   -The sky models have been reorganized.
449   -
450   -GSkyModel is now the general class for a sky model. It is no longer
451   -abstract. The classes GModelPointSource, GModelExtendedSource and
452   -GModelDiffuseSource have been removed, as the source type is fully
453   -determined from the spatial model component.
454   -
455   -All spatial model components have now been categorized into 3 classes:
456   -
457   -* GModelSpatialPointSource - point source
458   -* GModelSpatialRadial - extended radial models
459   -* GModelSpatialElliptical - extended elliptical models
460   -* GModelSpatialDiffuse - diffuse models
461   -
462   -While GModelSpatialPointSource is a normal class, the other 2 classes
463   -are abstract and serve as the base classes for the various model
464   -implementations. The following implementations exist:
465   -
466   -GModelSpatialRadial
467   - |
468   - +- GModelSpatialRadialDisk - axisymmetric disk
469   - +- GModelSpatialRadialGauss - axisymmetric Gaussian
470   - +- GModelSpatialRadialShell - axisymmetric shell
471   -
472   -GModelSpatialElliptical
473   - |
474   - +- GModelSpatialEllipticalDisk - elliptical disk
475   -
476   -GModelSpatialDiffuse
477   - |
478   - +- GModelSpatialDiffuseConst - isotropic map
479   - +- GModelSpatialDiffuseCube - map cube
480   - +- GModelSpatialDiffuseMap - spatial map
481   -
482   -The GModelSpatialDiffuseCube class now reads an optional ENERGIES
483   -extension so that the energy values for maps in the cube are
484   -available.
485   -
486   -Model registries now use static functions instead of static members
487   -for registry information handling. This circumvents the ill defined
488   -initialization problem of static variables and allow using of the
489   -GRegistryPointer smart pointer, removing memory leaks on exit of
490   -GammaLib.
491   -
492   -The GModels class no longer derives from GOptimizerPars, but now is
493   -a full-blown container deriving from GContainer. The pars() method
494   -has been added that returns an optimizer parameter container that
495   -holds all model parameters in a plain array.
496   -
497   -The GModelPar class now derives from GOptimizerPar. For the moment,
498   -the only methods that GModelPar implements with respect to
499   -GOptimizerPar are the XML read() and write() methods.
500   -
501   -A broken power law spectral model has been implemented by the
502   -GModelSpectralBrokenPlaw class.
503   -
504   -A Gaussian spectral model has been implemented by the GModelSpectralGauss
505   -class.
  52 +The GModelSky class now writes the id attribute to the XML file in case
  53 +that identifiers are specified.
506 54  
507 55  
508 56 9. Numerics module
509 57 ------------------
510   -The GNumerics file was renamed to GMath, and mathematical functions
511   -from GTools and GWcslib have been moved into this file.
  58 +None
512 59  
513 60  
514 61 10. Observation module
515 62 ----------------------
516   -Add energy constructor to GEnergy that allows one-line construction of
517   -an object by specifying an energy value and unit. Possible unit strings
518   -are erg(s), keV, MeV, GeV, and TeV (case insensitive).
519   -
520   -Observation registries now use static functions instead of static members
521   -for registry information handling. This circumvents the ill defined
522   -initialization problem of static variables and allow using of the
523   -GRegistryPointer smart pointer, removing memory leaks on exit of
524   -GammaLib.
525   -
526   -An energies container class GEnergies has been added to hold GEnergy
527   -objects.
528   -
529   -The likelihood computation is now performed in the GObservation class.
530   -This allows for an observation dependent definition of the likelihood
531   -function. For this purpose, the virtual likelihood() method has been
532   -added to GObservation.
  63 +None
533 64  
534 65  
535 66 11. Optimization module
536 67 -----------------------
537   -Introduce the GOptimizerPar class to represent a general parameter of
538   -the optimizer function. The class was essentially copied from GModelPar.
539   -GModelPar now derives from this class.
540   -
541   -The GOptimizerPars is now a full blown container class that holds
542   -GOptimizerPar objects.
  68 +None
543 69  
544 70  
545 71 12. Sky module
546 72 --------------
547   -Add a sin() and cos() pre computation cache to speed up repeated
548   -distance computations using dist() or dist_deg(). Coordinate access
549   -methods are now declared inline to provide also faster data access.
550   -
551   -Classes have been added to support handling of sky regions. The
552   -GSkyRegion class is the abstract base class of all sky regions. The
553   -GSkyRegionCircle class implements a circle on the sky. The DS9 region
554   -format is used for loading and saving region information into a file.
555   -Regions a gathered in a regions container, which is implement by the
556   -GSkyRegions class.
557   -
558   -The WCS registry now use static functions instead of static members
559   -for registry information handling. This circumvents the ill defined
560   -initialization problem of static variables and allow using of the
561   -GRegistryPointer smart pointer, removing memory leaks on exit of
562   -GammaLib.
563   -
564   -The GSkyPixel class now supports 1D and 2D pixelisations, allowing
565   -a more generic usage of the class. Integer and double precision
566   -values can be assigned from and to GSkyPixel for 1D pixelisations.
567   -
568   -The GWcsAIT class has been added for Aitoff projections.
569   -
570   -The solid angle of sky map pixels are now computed using the spherical
571   -excess. This provides accurate solid angles even in case that the
572   -pixels are highly distorted, for example at the poles of the Aitoff
573   -projections.
  73 +None
574 74  
575 75  
576 76 13. Support module
577 77 ------------------
578   -The abstract GUrl base class has been implemented that provides an
579   -interface for transparent handling of Unified Resource Locators.
580   -Using this interface, files can be equally handles as strings, or
581   -http addresses.
582   -
583   -The following URL types have been implemented so far:
584   -* GUrlFile: handles flat files.
585   -* GUrlString: handles writing into a string
586   -
587   -The code of the support module has been reviewed, and some minor
588   -adjustments have been made that very likely do not affect any
589   -existing code.
  78 +None
590 79  
591 80  
592 81 14. XML module
593 82 --------------
594   -The XML module classes now make use of the GUrl abstract interface
595   -to allow for generic URL input / output of the XML document. Before,
596   -only flat file I/O has been supported. Now, I/O can go through any
597   -media for which a URL class has been implemented.
  83 +None
598 84  
599 85  
600 86 15. VO module
601 87 -------------
602   -This new module has been added to support compliance with the Virtual
603   -Observatory (VO) protocols.
604   -
605   -The GVOClient class implements a VO compliant client that can communicate
606   -with a SAMP Hub. The method supports SAMP discovery and registering and
607   -unregistering.
  88 +None
608 89  
609 90  
610 91 16. Xspec module
611 92 ----------------
612   -A module has been added to provide an interface to the Xspec analysis
613   -package. Three classes have been implemented that support the Xspec
614   -file formats: GPha, GArf and GRmf.
  93 +None
615 94  
616 95  
617 96 17. Test module
... ... @@ -631,23 +110,10 @@ None
631 110  
632 111 20. CTA interface
633 112 -----------------
634   -The computations for diffuse map templates have been optimized by
635   -introducing a pre computation cache for IRF and Npred values. This
636   -considerably reduces the computing time for diffuse spatial maps.
637   -
638   -Support for on/off analysis has been added. The GCTAOnOffObservation
639   -class gathers all information that is required for an on/off analysis
640   -for a given run. The GCTAOnOffObservations container allows to analyse
641   -several runs in one shot.
642   -
643   -The radial model registry now use static functions instead of static
644   -members for registry information handling. This circumvents the ill
645   -defined initialization problem of static variables and allow using of
646   -the GRegistryPointer smart pointer, removing memory leaks on exit of
647   -GammaLib.
648   -
649   -A King profile PSF has been added that fits much better for fitting
650   -of the HESS PSF.
  113 +The GCTAModelBackground and GCTAModelRadialAcceptance classes now write
  114 +the id attribute to the XML file in case that identifiers are specified.
  115 +Furthermore, GCTAModelRadialAcceptance no longer write the temporal
  116 +model component.
651 117  
652 118  
653 119 21. COMPTEL interface
... ...
configure.ac
... ... @@ -33,6 +33,7 @@ AC_INIT([gammalib], [0.8.0], [jurgen.knodlseder@irap.omp.eu], [gammalib])
33 33 AC_CONFIG_SRCDIR([src/support/GTools.cpp])
34 34 AC_CONFIG_MACRO_DIR([m4])
35 35 AM_INIT_AUTOMAKE([gnu no-dependencies -Wno-portability subdir-objects])
  36 +#AM_INIT_AUTOMAKE([gnu no-dependencies subdir-objects])
36 37 AC_CONFIG_HEADER([config.h])
37 38  
38 39  
... ... @@ -1277,7 +1278,10 @@ AC_CONFIG_FILES([Makefile
1277 1278 test/Makefile
1278 1279 pyext/Makefile
1279 1280 pyext/setup.py
1280   - gammalib.pc])
  1281 + gammalib.pc
  1282 + testconf.sh],
  1283 + [if test -f testconf.sh; then chmod +x testconf.sh; fi])
  1284 +
1281 1285 if test "x$with_inst" = "xyes"; then
1282 1286 AC_CONFIG_FILES([inst/Makefile])
1283 1287 fi
... ...
doc/source/user_manual/glossary.rst
... ... @@ -27,4 +27,3 @@ Glossary
27 27  
28 28 Dynamic programming language that is used in a wide variety of
29 29 application domains.
30   -
... ...
inst/cta/src/GCTAModelBackground.cpp
1 1 /***************************************************************************
2 2 * GCTAModelBackground.cpp - Generic CTA background model class *
3 3 * ----------------------------------------------------------------------- *
4   - * copyright (C) 2013 by Michael Mayer *
  4 + * copyright (C) 2013-2014 by Michael Mayer *
5 5 * ----------------------------------------------------------------------- *
6 6 * *
7 7 * This program is free software: you can redistribute it and/or modify *
... ... @@ -849,6 +849,10 @@ void GCTAModelBackground::write(GXmlElement&amp; xml) const
849 849 if (instruments().length() > 0) {
850 850 src->attribute("instrument", instruments());
851 851 }
  852 + std::string identifiers = ids();
  853 + if (identifiers.length() > 0) {
  854 + src->attribute("id", identifiers);
  855 + }
852 856  
853 857 // Write spectral model
854 858 if (spectral() != NULL) {
... ...
inst/cta/src/GCTAModelRadialAcceptance.cpp
1 1 /***************************************************************************
2 2 * GCTAModelRadialAcceptance.cpp - Radial acceptance model class *
3 3 * ----------------------------------------------------------------------- *
4   - * copyright (C) 2011-2013 by Juergen Knoedlseder *
  4 + * copyright (C) 2011-2014 by Juergen Knoedlseder *
5 5 * ----------------------------------------------------------------------- *
6 6 * *
7 7 * This program is free software: you can redistribute it and/or modify *
... ... @@ -714,6 +714,7 @@ void GCTAModelRadialAcceptance::write(GXmlElement&amp; xml) const
714 714 src = xml.append("source");
715 715 if (spectral() != NULL) src->append(GXmlElement("spectrum"));
716 716 if (radial() != NULL) src->append(GXmlElement("radialModel"));
  717 + //if (temporal() != NULL) src->append(GXmlElement("temporalModel"));
717 718 }
718 719  
719 720 // Set model type, name and optionally instruments
... ... @@ -722,6 +723,10 @@ void GCTAModelRadialAcceptance::write(GXmlElement&amp; xml) const
722 723 if (instruments().length() > 0) {
723 724 src->attribute("instrument", instruments());
724 725 }
  726 + std::string identifiers = ids();
  727 + if (identifiers.length() > 0) {
  728 + src->attribute("id", identifiers);
  729 + }
725 730  
726 731 // Write spectral model
727 732 if (spectral() != NULL) {
... ... @@ -736,12 +741,14 @@ void GCTAModelRadialAcceptance::write(GXmlElement&amp; xml) const
736 741 }
737 742  
738 743 // Write temporal model
  744 + /*
739 745 if (temporal()) {
740 746 if (dynamic_cast<GModelTemporalConst*>(temporal()) == NULL) {
741 747 GXmlElement* temp = src->element("lightcurve", 0);
742 748 temporal()->write(*temp);
743 749 }
744 750 }
  751 + */
745 752  
746 753 // Return
747 754 return;
... ...
pyext/GLog.i
... ... @@ -114,4 +114,7 @@ public:
114 114 void centre(const std::string& arg, const int& n) {
115 115 (*self) << gammalib::centre(arg, n);
116 116 }
  117 + void chatter(const int& chatter) {
  118 + self->chatter(GChatter(chatter));
  119 + }
117 120 }
... ...
pyext/GTypemaps.i
... ... @@ -140,3 +140,13 @@ static int var_tuple_to_index(PyObject *input, int *ptr) {
140 140 }
141 141 }
142 142 }
  143 +
  144 +/* __ Enumerations _______________________________________________________ */
  145 +typedef enum {
  146 + SILENT = 0,
  147 + TERSE = 1,
  148 + NORMAL = 2,
  149 + EXPLICIT = 3,
  150 + VERBOSE = 4
  151 +} GChatter;
  152 +
... ...
src/gammalib-setup.in
... ... @@ -80,11 +80,10 @@ if [ -d $prefix/syspfiles/. ]; then
80 80 do
81 81 parfile=`basename $filename`
82 82 sys_parfile=$prefix/syspfiles/$parfile
83   - if [ -e $sys_parfile ]
84   - then
85   - if test $sys_parfile -nt $filename
  83 + if [ -e "$sys_parfile" ]; then
  84 + if test "$sys_parfile" -nt "$filename"
86 85 then
87   - cp -f $sys_parfile $filename
  86 + cp -f "$sys_parfile" "$filename"
88 87 fi
89 88 fi
90 89 done
... ... @@ -172,7 +171,8 @@ fi
172 171 # Set MANPATH
173 172 # ===========
174 173 if [ "x$MANPATH" = x ]; then
175   - MANPATH="$man_dir:$(manpath)"
  174 + manpath=${manpath:-}
  175 + MANPATH="$man_dir:${manpath}"
176 176 else
177 177 MANPATH=`echo ":$MANPATH:" | \
178 178 sed "s%:$man_dir:%:%g" | sed "s%::*$%%"`
... ...
src/model/GModelSky.cpp
... ... @@ -738,6 +738,10 @@ void GModelSky::write(GXmlElement&amp; xml) const
738 738 if (instruments.length() > 0) {
739 739 src->attribute("instrument", instruments);
740 740 }
  741 + std::string identifiers = ids();
  742 + if (identifiers.length() > 0) {
  743 + src->attribute("id", identifiers);
  744 + }
741 745  
742 746 // Write spectral model
743 747 if (spectral() != NULL) {
... ...
testconf.sh.in 0 → 100755
  1 +#!/bin/sh
  2 +# =====================================================================
  3 +# Test GammaLib configuration script (used for continuous integration;
  4 +# assumes that GammaLib has been installed)
  5 +#
  6 +# Copyright (C) 2014 Juergen Knoedlseder
  7 +#
  8 +# This program is free software: you can redistribute it and/or modify
  9 +# it under the terms of the GNU General Public License as published by
  10 +# the Free Software Foundation, either version 3 of the License, or
  11 +# (at your option) any later version.
  12 +#
  13 +# This program is distributed in the hope that it will be useful,
  14 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
  15 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16 +# GNU General Public License for more details.
  17 +#
  18 +# You should have received a copy of the GNU General Public License
  19 +# along with this program. If not, see <http://www.gnu.org/licenses/>.
  20 +# =====================================================================
  21 +#
  22 +# Exit on any error
  23 +# =================
  24 +set -e
  25 +
  26 +#
  27 +# Set fixed parameters
  28 +# ====================
  29 +test_dir="home"
  30 +
  31 +#
  32 +# Set parameters
  33 +# ==============
  34 +prefix="@prefix@"
  35 +
  36 +#
  37 +# Save current working directory
  38 +# ==============================
  39 +base=$PWD
  40 +
  41 +#
  42 +# Create test directory
  43 +# =====================
  44 +@MKDIR_P@ "$test_dir"
  45 +cd "$test_dir"
  46 +
  47 +#
  48 +# Configure GammaLib
  49 +# ==================
  50 +export GAMMALIB="$prefix"
  51 +. $GAMMALIB/bin/gammalib-init.sh > config.log 2>&1
  52 +output=`cat config.log`
  53 +if [ "x$output" != x ]; then
  54 + echo "*** Configuration script was not silent ***"
  55 + echo "$output"
  56 + exit 1
  57 +fi
  58 +
  59 +#
  60 +# Signal completion
  61 +# =================
  62 +echo "Configuration test successful."
... ...