ChangeLog
43.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
2023-12-12
* Version 2.1.0 released
========================
Generalise flux computation in GModelSpatial::flux method (#4467)
Fix solidangle computation in GSkyRegionRectangle (#4461)
Replace distutils by setuptools for Python setup (#4223)
Add GCOMHkd and GCOMHkds classes (#4209)
Add COMPTEL DRW support to GCOMObservation and GCOMDris (#4209)
Add GSkyMap comparison operators (#4209)
Add GIntegral::adaptive_gauss_kronrod() method (#4204)
Add optional unit parameter to GApplication::log_value() methods (#4202)
Fix segfault on saving empty GModelSpectralTable (#4198)
Implement response vector cache storage in FITS file (#4159)
Add GCOMObservation::npred() method
Add optional energy scaling in GModelSpectralTable class (#4069)
Add GNdarray::index() method (#4069)
2022-06-06
* Version 2.0.0 released
========================
Add gammalib::getenv() function (#4063)
Add GEbounds::remove() method (#4062)
Add ASTRI and FACT as supported instrument type for the CTA module (#4058)
Fix bug in GGti::insert() and GGti::merge() methods (#4030)
By default, do not allow log-likelihood decrease in LM optimiser
Support Galactic coordinates in spatial models (#3988)
Correctly return UTC times before 1972 (#3974)
Implement CGRO clock correction (#3973)
Add support for COMPTEL pulsar analysis (#3973)
Add GCOMObservation::tim() and GCOMObservation::oads() setter methods
Add GModelSpatialRadialGeneralGauss and
GModelSpatialEllipticalGeneralGauss classes (#3924)
Remove GCOMSelection::zeta_min() and GCOMSelection::zeta_max()
methods
Add GCOMSelection::fpmtflag(), GCOMSelection::use_d1() and
GCOMSelection::use_d2() methods (#3917)
Rename GCOMModelDRBFitting class to GCOMModelDRBPhibarNodes (#3914)
Add GCOMModelDRBPhibarBins class (#3913)
Compute spectral model gradients for negative factor values
Add likelihood fit event selection hook (#3912)
Add GCOMModelDRM class (#3910)
Add angle(GVector&,GVector&) friend function (#3908)
Add GSkyDir::galvector() methods (#3907)
Make extension name check case insensitive in GFits::extno()
Add numerical gradient step size member to GObservation
Add stamp() methods to GApplication (#3662)
Display application header in debug mode (#3631)
Add ASCL shield to "About" page (#3630)
Add GModelSpectralFunc spectral constructor (#3626)
Add GModelSpectralBins class (#3606)
Added GApplication statistics() and add_celapse() methods (#3592)
Add GammaLib daemon for application statistics management (#3592)
Add carbon footprint estimation and application statistic logging to
GApplication (#3592)
Add phase selection to GCOMSelection and GCOMDri (#3564)
Fix incompatibility in GMatrixSparse::mix_column_prepare() method (#3563)
Add missing members to GOptimizerLM::copy_members() method
Store DRB, DRG and DRX as GCOMDri in GCOMObservation (#3560)
Implement COMPTEL response for diffuse models (#3558)
Implement COMPTEL background model computation (#3557)
Fix reading of scaled FITS columns, remove GFitsTableCol::scale() method (#3553)
Add gammalib::compare() function (#3552)
Add DRI constructor to GCOMObservation class
Add member access methods to GCOMDri class
Implement ToF correction for COMPTEL EVP version 2 datasets (#3549)
Implement ToF correction in IRF computation (#3548)
Correct COMPTEL average deadtime to 0.965 (#3547)
Fix handling of empty matrix objects (#3541)
Add methods to GCOMObservation class to access DRI filenames
Add GModelSpectralFunc methods to build file function in memory (#3535)
Add GCTABackground2D class (#3527)
Implement vectorised response computation for COMPTEL (#3501)
Fix response cache removal for vector cache (#3499)
Missing file in GModelSpectralFunc throws exception (#3474)
Add GModelAssociation and GModelAssociations classes (#3469)
Add GSkyMap::correlate() method (#3461)
Add GModels::eval() vector evaluation method (#3455)
Fix GSkyMap::stack_maps() method for WCS maps
Add GCTAModelSkyCube class (#3442)
Add GSkyModel flux() and eflux() methods (#3439)
Add XML value constructors and access methods to GXmlElement class (#3431)
Correct application elapsed CPU time for OpenMP (#3417)
Implement sparse vector response cache (#3403)
Support spectral line fitting (#3386)
Implement GMatrixSparse::row() and GMatrixSparse::add_to_row() methods
Integrate analytical gradients for energy dispersion computation (#3333)
Add GFunctions abstract base class (#3328)
Add GIntegrals class (#3328)
Remove implicit conversion warnings (#3324)
Add gammalib::tmpnam() function (#3324)
Add GSkyDirs container class (#3324)
Add GSkyRegionRect class (#3248)
Implement vectorised response computation (#3203)
Implement analytical gradients for the radial Gaussian model in a
stacked analysis (#3203)
Add GSkyModel flux_error() and eflux_error() methods (#3074)
Remove COMPTEL internal response caching (#2973)
Add GSkyMap::flux(GRegion(s)) and GSkyMap::solidangle(GRegion(s)) methods (#1785)
Reimplement GModelSpatial::flux() method for diffuse and combined models (#1785)
Implement pre-computation cache in GModelSpatialGauss (#1300)
Replace specific by generic exceptions (#35)
2021-04-28
* Bug fix version 1.7.4 released
================================
Add conda activation and deactivation scripts for csh (#3628)
Speed-up Monte-Carlo sampling of exponentially cut-off power
law models (#3625)
2020-12-02
* Bug fix version 1.7.3 released
================================
Fix inaccuracy in CTA background model evaluation (#3472)
2020-10-15
* Bug fix version 1.7.2 released
================================
Fix copy of base class members in copy constructor of some
spatial models (#3402)
2020-09-07
* Bug fix version 1.7.1 released
================================
Add Python include path in search for Python.h (#3329)
Test for Big Sur in configuration step (#3326)
Copy Python modules into pyext/gammalib folder (#3322)
Write units of response cubes into FITS files (#3321)
Implement specific response cache for CTA stacked analysis (#3316)
Speed up model definition XML file writing (#3308)
Fix automatic type casting in Python interface (#3295)
Make parameter file reading and writing thread safe (#3287)
Add quotes to sky region names (#3280)
Fix broken power law flux and eflux computation bug (#3279)
2020-07-02
* Version 1.7.0 released
========================
Add equality and non-equality operators to GSkyRegionCircle class
Add GModelSpatialRadialRing class (#3253)
Fix ambiguity problem in GSkyDir::posang() and posang_deg() (#3199)
Fix GModelSpatialDiffuseCube pickeling issue (#3179)
Rename GModelSpatialDiffuseCube::set_mc_cone() to mc_cone() (#3179)
Rename GModelSpatialDiffuseMap::set_mc_cone() to mc_cone() (#3179)
Properly set region for GModelSpatialDiffuseCube class (#3145)
Avoid rounding errors in GSkyMap operators (#3126)
Fix inverted min-max boundary in GOptimizePar for negative scale factors (#3072)
Add GObservations::npred() methods (#3062)
Exclude upper edge boundary in GSkyMap::contains() method (#3012)
Add GSkyMap::extract() methods (#2990)
Add GCOMDri::cone_content() method (#2973)
Add GCOMObservation::drm(GModels&) method (#2973)
Implement methods to remove models from a response cache (#2973)
Improve COMPTEL classes (#2973)
Install example binaries in share/examples folder (#2971)
Add GModelSpatial::flux() method (#2961)
Change order of Python module import (#2961)
Add GGti::overlap() method
Correctly write model attributes in GCOMModelDRBFitting class
Fix GTime.utc() precision bug (#2917)
Add GTime.datetime() method and add optional precision to GTime.utc() (#2909)
Remove obsolete methods from GCTAResponseCache class (#2893)
Replace log flag by string in GEbounds and GEnergies classes (#2881)
Allow RoI centres different from pointing direction in unbinned analysis
(#2695)
Add GSkyDir::moon() method (#1855)
Add GSkyDir::sun(), GSkyDir::precess() and GTime::julian_epoch() methods
(#1854)
GSkyProjection::coordsys() method now returns CEL instead of EQU (#1829)
Remove GModelSpatialDiffuseCube::maps() and
GModelSpatialDiffuseCube::pixels() methods (#1761)
Implement INTEGRAL/SPI instrument interface (#733, #734, #735, #736,
#740, #742, #745, #746)
Add GModelSpectralTable class (#599)
2019-11-07
* Bug fix version 1.6.3 released
================================
Remove nested levels from CTA response cache to reduce memory requirements (#2893)
2019-07-15
* Bug fix version 1.6.2 released
================================
Set dependency library versions for conda build (#2958)
2019-06-05
* Bug fix version 1.6.1 released
================================
Fix initialisation script for c-shell (#2724)
2019-05-29
* Version 1.6.0 released
========================
Allow fitting of instrument scale factors (#2892)
Add GCTAModelSpatialLookup class to handle CTA background lookups (#2878)
Implement energy-dependent Gaussian CTA spatial background model (#2868)
Take instrument scale factors in On/Off analysis into account (#2867)
GWcs::wcs_set() method now sets radesys and equinox members (#2866)
Add GCTAPointing::is_valid() method and remove table methods
Set CTA IRF integration iterations to 6 to cope with H.E.S.S. PSF (#2860)
Add kludge to handle incomplete Fermi-LAT source maps (#2850)
Correct Nbgd computation in GCTAOnOffObservation for Non=0 (#2838)
Improve OpenMP handling in GWcs::dir2pix (#2770)
Add support for Fermi/LAT P8V3 response functions
CTA background rates are now per ontime (#2758)
Add GPythonOptimizerFunction class (#2733)
Remove diffuse response cube caching (#2722)
Revise GCTAEdispCube::operator() interface and disable stacked response
cutting in true energy (#2721)
Rename GCTAResponseIrf::lo_save_thres() and GCTAResponseIrf::hi_save_thres()
to GCTAResponseIrf::lo_safe_thres() and GCTAResponseIrf::hi_safe_thres()
(#2716)
Add generic CTA response cache (#2715)
GCTAOnOffObservation now supports any kind of background model (#2710)
Fix precision issue with GCTABackground3D Monte-Carlo simulations (#2708)
Integrate energy dispersion linearly instead of logarithmically (#2706)
Revise GCTAEdisp class interface (#2704)
GCTAEdisp returns now energy dispersion values per MeV (#2704)
Protect GCTAInstDir from access to invalid information (#2694)
Implement general CTA background model (#2694)
Fix bug that potentially wrote the wrong exposure time in a PHA file (#2683)
Correct handling of stacked On/Off observations without background IRF
(#2683)
Fix OpenMP bug in GObservations::likelihood::eval (#2678)
Define GCTACubeBackground for energy boundaries instead of nodes (#2677)
Remove setting of effective area energy boundaries from "LO_THRES" and
"HI_THRES" keywords (#2674)
Correctly compute maximum energy in GCTAAeff2D class (#2674)
Support "ENERG" column name for CTA energy dispersion FITS file (#2670)
Make IRF interface compatible with H.E.S.S. format (#2660)
Add use_irf_bkg argument to GCTAOnOffObservation constructor (#2659)
Support effective area with theta cut in GCTAOnOffObservation (#2657)
Add gammalib::replace_segment() function
Apply CTA 2D energy dispersion kludge only to CTA data (#2654)
Add ARC WCS projection (#2541)
Add GLog::buffer() method.
Renamed GPhoton::mcid() to GPhoton::mc_id()
Remove at() methods from Python interface (#2515)
Support application specific system parameter files (#2513)
Add methods and operators to handle additional columns in GPha
Made GApplicationPar::query() method public
Fix handling of q-mode parameters (#2495)
Speed up computation of diffuse map models for CTA (#2466)
Enhance GModelSpatialRadialProfileGauss class (#2463)
Increase integration precision for CTA diffuse model response (#2458)
Add GModelSpectralExponential class (#2454)
Add GCTAModelRadialAcceptance model component setter methods
Handle observation-specific energy thresholds in CTA On/Off analysis (#2429)
Add GCTAEdisp::prob_erecobin() method (#2422)
Add gammalib::gauss_integral() function (#2422)
Keep existing library path in installation script on Mac OS X (#2420)
Make GPha, GArf and GRmf output files XSPEC compliant (#2404)
Add methods to store file attributes in GPha (#2404)
CTA 3D background model now supports "BKG" column names (#2343)
Ignore non-manadory columns in GCTABackground3D::read() method (#2339)
Add GFitsTable::remove() methods (#2339)
Compute likelihood values also if there are no model parameters (#2312)
Add GSkyDir::cos_dist() method (#2309)
Add GCTABackground::rate_ebin() method and gammalib::atan2() and
gammalib::plaw_integral() functions (#2308)
Handle extended models in CTA On/Off analysis (#2292)
Preserve GTIs when copying GCTAEventList and GCTAEventCube objects (#2054)
Use MJD reference of first observation for exposure cube (#2054)
Implement Python pickeling support (#1938)
2019-05-15
* Bug fix version 1.5.4 released
================================
Handle new CTA energy dispersion format
2019-05-11
* Bug fix version 1.5.3 released
================================
Use "BKG" instead of "BGD" for CTA background column (#2343)
2018-04-26
* Bug fix version 1.5.2 released
================================
Correct number of internal spectral nodes in GCTABackground3D (#2462)
2018-03-26
* Bug fix version 1.5.1 released
================================
Fix MANPATH for Mac OS X systems (#2420)
Add kludge to handle noisy CTA 2D energy dispersion (#2342, #2403).
Prevent unintentional deallocation of arguments (#2340).
Correct sky map smoothing.
2018-01-23
* Version 1.5.0 released
========================
Change DATE_OBS, DATE_END, TIME_OBS and TIME_END FITS keywords into DATA-OBS,
DATE-END, TIME-OBS and TIME-END
Non-point source model throws exception in On/Off fitting (#2296)
Set reference time to CTA reference time in GCTAEventcube, GCTAEventList and
GCTACubeExposure (#2295)
GCsv interprets lines in CSV files starting with # as comment lines (#2291)
Add GPha::counts_spectrum() and GPha::backscal_spectrum() methods (#2290)
Add GNdarray sign(), operator*= and operator/= (#2290)
Add GSkyMap::counts() and GSkyMap::flux() methods and clip() friend operator
(#2290)
Add GSkyMap::array() method to Python interface (#2285)
Add Off sky regions to GCTAObservation (#2284)
By default require cfitsio library (#2265)
CTA observations handle "statistic" attribute in XML file (#2238)
Use CSTAT and CHI2 instead of POISSON and GAUSSIAN for statistic (#2237)
Changed GObservation::statistics() to statistic() (#2238)
Prevent negative response values for COMPTEL IRF (#2234)
Add GCTAOnOffObservation PHA, ARF and RMF constructor (#2231)
Implement observation stacking in GCTAOnOffObservation (#2228)
Implement region integration in GCTAOnOffObservation (#2210)
Implement WSTAT in GCTAOnOffObservation (#2209)
Add GPha arithmetic operators and scale access methods
Add GArf arithmetic operators
Add GRmf arithmetic operators
Add GEbounds equality and inequality operators
Improve efficiency of GGti::contains() method.
Add GFitsTableCol::scale() method (#2191)
Implement code generator for GammaLib extensions (#2190)
Implement COMPTEL event list support (#2187)
Implement COMPTEL response computation (#2186)
Add COMPTEL SDA, SDB and ICT response files (#2186)
Correct output of COMPTEL DRB fitting XML model (#2184)
Allow source position fitting for Fermi-LAT data (#2183)
Add GModelSpectralNodes spectral model constructor (#2178)
Add GSkyMap division operator for Python 3.x (#2122)
Add time parameter to GApplicationPar class (#1864)
Add time string constructor and set method to GTime class (#1864)
Remove GCTAObservation::obs_id() methods (#1836)
Use GNdarray to store GSkyMap pixels and add smooth() method (#1729)
Use XML support functions in all model classes (#1430)
Add GSkyRegionMap class (#1121)
2017-10-31
* Bug fix version 1.4.3 released
================================
Correct background interpolation in GCTACubeBackground::operator() (#2268)
Fix OpenMP segfault issue when fetching CTA events (#2192)
Fix UTC rounding error in GTime::utc() method (#2177)
Correct GModelSpatialComposite::copy_members() bug
2017-08-24
* Bug fix version 1.4.2 released
================================
Correct rate computation in GModelTemporalLightCurve::mc() (#2181)
2017-08-22
* Bug fix version 1.4.1 released
================================
Correct GModelSpectralNodes::mc() regression for energies outside the node energy range (#2179)
2017-07-28
* Version 1.4.0 released
========================
Add GCTAEventBin::ipix() and ieng() setter methods (#2171)
Write response information into simulated observation definition file (#2170)
Normalise phase curves by default (#2154, #2172)
Support Python list slicing for container classes (#2128)
Add Python typemaps for GObservation::likelihood() output argument (#2126)
Add GSkyRegions::overlaps() and GSkyMap::overlaps() classes (#1980)
2017-07-06
* Bug fix version 1.3.1 released
================================
Add margin to maximum light and phase curve values (#2149)
Improve caching in GSkyDir (#2148)
Make GCTAPsfKing save against invalid values (#2133)
2017-06-06
* Version 1.3.0 released
========================
Add header card keyword map to GFitsHeader for fast access (#2120)
Correct set names of spatial GLON/GLAT model parameters (#2113)
Increase maximum CTA King PSF radius to 2 degrees (#2112)
Support "BKG" as name of CTA background template
Scale optimizer convergence criterion with step size (#2022)
Put response cube loading and saving in OpenMP critical zone (#2021)
Add GPhases class (#1996)
Allow fitting of scale parameter in composite models (#1992)
Add GEventList::append_column() method (#1991)
Add scalar addition and subtraction operators to matrix classes (#1990)
Add GCTAAeff::ebounds() method (#1989)
Add GEbounds::emin() and GEbounds::emax() setter methods (#1989)
Protect GEbounds::set_lin() and set_log() methods from invalid arguments (#1989)
Avoid hang-up of GCTAModelAeffBackground::mc() method (#1988)
Copy shared Python libraries instead of creating a symbolic link (#1987)
Added FITS image conversion operators (#1986)
If code originates from Git, always compile the Python bindings (#1985)
Raise exception instead of exiting with return code in Python tests (#1983)
Add GEventList::has_phase() and GEventList::has_detxy() methods (#1982)
Enhance precision of GCTAEdisp2D::compute_ebounds_src
Add conversion methods between GEbounds and GEnergies (#1977)
Do no longer interpret a CTA calibration database as file path (#1969)
GWcs now supports CD keywords instead of CDELT (#1951)
Add GModelSpectralSmoothBrokenPlaw class (#1948)
Implement lazy loading of energy dispersion in GCTAEdisp2D (#1940)
Add GCTARoi::contains method
Add GCTAResponseIrf::rspname() method
Correct GCTAPsf2D containment radius computation (#1876)
Add GFilename::type() method (#1863)
Rename GFitsTableCol::length() to GFitsTableCol::nrows() (#1860)
Rename GFitsHDU::size() to GFitsHDU::cards() (#1859)
Rename GFitsImage::size() to GFitsImage::npix() (#1858)
Remove GFitsTable::size() method (#1857)
Add GLS and SFL WCS projections (#1851)
Add GModelSpatialRadialProfile class (#1520)
Add GModelSpatialRadialProfileGauss class (#1520)
Add GModelSpatialRadialProfileDMBurkert class (#1520)
Add GModelSpatialRadialProfileDMEinasto class (#1520)
Add GModelSpatialRadialProfileDMZhao class (#1520)
Add support for Monte Carlo identifier metadata (#1483)
Add GEventList::has_mc_id() and GEventAtom::mc_id() methods (#1483)
GModelSpectralNodes throws exception for non-positive energy or intensity (#990)
2017-02-24
* Version 1.2.0 released
========================
Reduce length of LAT response filenames by unzipping a number of energy dispersion files (#1931)
Skip zero livetime observations in stacked cubes for CTA (#1920)
Correct handling of time references in GGti::extend() method (#1922)
Check that MC energy is comprised in validity range for CTA 3D background template (#1918)
Add GModelTemporalPhaseCurve class (#1916)
Monte Carlo for empty maps or map cubes no longer throws an exception (#1915)
Add GModelTemporalLightCurve class (#1914)
Add GSkyMap FITS HDU constructor
Add leap second for 1-1-2017 (#1887)
Add region() method to GModelSpatial (#1764)
Correct containment radius computation in GCTAPsf2D::containment_radius (#1876)
Add composite spatial and spectral models (#1706)
Add GObservations::save_covmat() method (#1863)
Add GFft and GFftWavetable classes (#1731)
Add GNdarray class (#1768)
Increase precision of gammalib::str() floating point functions
Add GFits::publish() methods (#1231)
Add GVOTable class (#1231)
Add multiplicative spectral model (#1861)
Add additional time setting and getting methods (#1856)
Check CTA response table dimension for consistency (#1848)
Remove eval_gradients() methods and remplace by eval() method with optional gradients argument (#1847)
Add GTestSuite::test_value() method with automatic precision computation
Add GSkyMap::is_empty() method (#1828)
Add GApplication access by index operator (#1838)
Add GApplication::pars() and GApplicationPar::current_value() methods (#1838)
Add GLog is_open(), is_empty() and written_size() methods (#1837)
Fix invalid pointer problem in GLog copies (#1823)
Fix GSkyMap::publish() bug for empty sky maps (#1835)
Fix loss of application name and version (#1835)
Add methods for logging in applications (#1828)
Fix removal of Python wrappers after make clean (#1826)
Add GModelSpectralExpInvPlaw class (#1800)
Add GModelSpectralPlawEnergyFlux class (#1790)
Rename GModelSpectralPlaw2 to GModelSpectralPlawPhotonFlux (#1790)
2016-07-24
* Version 1.1.0 released
========================
Check on model parameters in spectral registry (#1824)
Rename spectral model components (#1821)
Fix exception handling SWIG interface for Python 3
Write same XML element names than those that were read (#1820)
Rename spatial model components (#1818)
Fix consistency problem in GCTABackground3D (#1815)
Models accessing file now support relative file names (#1808)
Add GXmlElement and GXmlDocument filename() methods (#1808)
Move node parent from GXmlElement to GXmlNode class (#1808)
Fix Makefile for example executables (#1806)
Include examples in unit tests (#1803)
Handle additional columns in GArf class
GCTAAeff2D no longer extrapolates beyond response table (#1784)
Add GWcsSIN projection class (#1798)
Add weights to CTA event cube and event bin (#1789)
Remove GCTACubeExposure, GCTACubePsf and GCTACubeBackground elogmeans() methods
GCTACubeExposure, GCTACubePsf and GCTACubeBackground use energy values (#1788)
GSkyMap::save() now overwrites files (#1787)
Add GCTAPsfTable class (#1786)
Use std::vector for naxes argument in GFitsImage (#1779)
GCTACubePsf and GCTACubeEdisp now save 4D images
Change interpolation scheme in GCTABackground3D
Add GCsv::append() method (#1773)
Add GTestSuite::test_value() string method (#1772)
Add component setting methods to GModelSky (#1770)
Add GApplication::logFileClose() method
Add GModel::read_attributes() and write_attributes() private methods (#1765)
Also write test reports in case of an exception (#1746)
GCaldb::filename() method now returns GFilename (#1745)
Add GCTAObservation filename constructor (#1744)
Add gammalib::number() function (#1743)
Add GSkyMap::shape() and ndim() methods (#1733)
Add GEnergy division operator
Use rejection method in GModelSpatialDiffuseMap::mc() (#1725)
Add GObservations::nobserved() method (#1723)
Use rejection method in GCTABackground3D::mc() (#1722)
Use rejection method in GModelSpatialDiffuseCube::mc() (#1722)
Add energy dispersion cube for stacked analysis (#1721, #1801)
Make GFilename::is_fits thread safe (#1717)
Revise GTime operators (#1714)
Add GSkyMap::publish() method to publish map on VO Hub (#1710)
Add GVOClient::publish() method to publish a FITS HDU (#1710)
Remove GCTAOnOffObservations class (#1669)
Handle FITS extensions in GSkyMap load() and save() methods (#1695)
Restrict Monte Carlo simulations in GModelSpatialDiffuseConst to simulation cone (#1674)
Use default GTime in GModelSpectral eval() and eval_gradients() methods (#1672)
Optimise GModelSpatialDiffuseMap::set_mc_cone() method (#1673)
Optimise GModelSpatialDiffuseCube::set_mc_cone() method (#1673)
Use default GTime in GObservation::deadc() method (#1670)
The GApplicationPar::filename() methods now take and return GFilename (#1671)
Add GFilename methods and remove equivalents from GTools (#1666)
Use column names for CTA response table access (#1656)
Add non-const GObservation::events() method (#1664)
Remove event fetching from GCTAObservation class (#1648)
Implement event fetching and disposal in GCTAEventList class (#1648)
Add GFilename::fullname() method
Add GCTAEventList::remove() method
Handle also additional columns in GCTAEventList::append() method
Fix GFitsTableCol::insert() method for empty columns
Fix GCTAEdisp2D::compute_ebounds_xxx() methods (#1662)
Use GFilename in GFits to store filename (#1649)
Load CTA GTI extension from the HDU name provided by the DSS keyword (#1598)
Support Fermi LAT Pass 8 response functions (#1517)
Support out of source builds (#1484)
Finalize implementation of CTA On/Off fitting (#1044, #1781)
2016-01-27
* Bug fix version 1.0.1 released
================================
Add units to CTA event list columns (#1616)
Allow usage of numbers in FITS extension names (#1611)
Solve compatibility issues with Anaconda on Mac OS X (#1607)
Correct diffuse map MC normalisation (#1584)
2015-12-18
* Version 1.0.0 released
========================
Ignore errors for El Capitan post processing (#1605)
Read only mandatory columns in GCTAEventList (#1600)
Remove extname arguments from classes (#1601)
Add GFilename class (#1599)
Check existence of files in CTA response loading (#1586)
GSkyMap::__getitem__ throw exception if out of bound (#1581)
Handle ~ in filenames (#1580)
Add GModel::has_ts() method (#1578)
Perform __init__.py creation only in build step (#1569)
Remove access by name methods from GSkyRegions (#1564)
Resolve Python test problem on El Capitan (#1563)
2015-10-28
* Version 0.11.0 released
=========================
Add need_help() method to GApplication (#572)
Correct GModelSpatialDiffuseCube computations (#1559)
Add save() and write() methods to GModelSpatialDiffuseCube
Add interval constructor and set methods to GEnergies class
Add Python unit test function to gammalib module (#1486)
Increase CTA IRF integration precision for shell model (#1521)
Correctly handle MC simulations for unnormalized diffuse maps (#1548)
Improve precision of shell model in unbinned analysis (#1521)
Add GCTAModelAeffBackground class
Remove small angle approximation from GModelSpatialRadialShell
Rename GSkymap to GSkyMap
Add binary operators to GSkymap class
GSkymap::operator/=(GSkymap) operator now ignores division by zero
Remove deadtime correction from GCTAModelCubeBackground (#1503)
Add GCTAObservation::object() method
Correct model gradient computation
Correct check of pixel containment in sky map (GSkymap::contains())
Do only search in users pfiles if PFILES environment variable is not set
Correct GModelSpatialDiffuseConst::mc() method (#1480)
Add is_valid() method to GCTARoi and write keywords only if ROI is valid (#1476)
Increased number of integration iterations for energy dispersion (#1472)
Add GOptimizerLM::logger() method, logger constructor takes pointer (#1471)
Replaced fixed precision integration by fixed iterations (#1466)
Implement rejection method for skymap Monte Carlo (#1465)
2015-05-22
* Version 0.10.0 released
=========================
Add optional PHASE information to CTA event lists
Use URL path informtion in GVOClient connection to Hub
Ignore empty string parameters in GModel::is_valid()
Add some constructors
Add classname methods to Python interface (#1321)
Rename CTA cube analysis classes (#1269)
Do not dump unqueried parameters (#1349)
Add GBilinear class
Add WCS projections (MOL)
Add GXmlElement::has_attribute() method
Add GSkymap scaling operators (#1296)
Add GSkymap::extract() method (#1442)
Implement GApplicationPar range checking (#285)
Forbid appending to text, comment and PI XML nodes (#804)
Increase precision for diffuse model Npred computation (#1248)
Implement observation definition reader/writer (#1429)
Remove etrue flag from CTA background IRF (#1437)
Allow appending of empty intervals to GEbounds and GGti
Add single interval constructor to GGti
Allow calling GNodeArray::set_value() for a single node
Add GTI and livetime information to GCTACubeExposure
Add GModelSpatial::contains method (#1446)
Add GModelSpatialEllipticalGauss class (#1412)
Add GVOHub class (#1229)
Add CTA Prod2 instrument response function (#1464)
2015-01-07
* Bug fix version 0.9.1 released
================================
Fixed bug #1383 (unit test error with recent gcc compiler)
2014-11-13
* Version 0.9.0 released
========================
Add energy dispersion to CTA module
Add pointing table support to CTA module
Add event filtering for binned analysis
Add +=, -=, *= and /= operators to GSkymap
Add integration status tracking to GIntegral
Add GCTAExposure and GCTAMeanPsf classes
Add ts and tscalc attributes to GModel and use them in models
Add manipulation methods to GCTAResponseTable
Add read(), write() and save() methods to GCTAPsf2D and GCTAPsfKing
Add classname() method to all classes
Add utc() methods to GTime class
Add hierachical element access methods to GXml and GXmlNode
Add table creation and saving methods to GCsv class
Add predefined entity support to XML module
Read/write altitude and azimuth attributes of CTA data
Refactor CTA response class, add GCTAResponseCube class
Improve CTA response computation for extended models
Implement CTA stacked analysis
Optimize CTA binned and stacked analysis
LM optimizer now allows logL decreases up to 1.0
Load events only when needed into GCTAObservation
Implement full automatic typecasting in Python module
Fill DETX and DETY values in GCTAResponseIrf::mc
Rename GCTAModelBackground to GCTAModelCubeBackground
Rename GCTAModelInstBackground to GCTAModelIrfBackground
Rename GIntegral::romb() to GIntegral::romberg()
Correctly take into account logfile name change in Python
Correctly use DETX/DETY in radians in GCTAInstDir
Introduce class codes to avoid dynamic type casting
Remove error computation from optimization
Add GOptimize::errors() method for error computation
Add support for user and save CTA energy thresholds
Several bug corrections
2014-03-12
* Bug fix Version 0.8.2 released
================================
Avoid division by zero error in GModelSpectralPlaw2 (#1141)
Add __len__ and copy() methods to GEvents Python interface
Increase Npred spectral integration precision to 1e-8 (#1142)
Use GCaldb for COMPTEL response handling
Add Pass 7 response files for Fermi/LAT
Load cube in GModelSpatialDiffuseCube only when needed (#1143)
Correct bug in Fermi/LAT PSF computation (#1004)
Implement CTA instrument background (#1146)
Add GModelSpectralSuperExpPlaw spectral model (#1147)
Added normalize attribute to GModelSpatialDiffuseMap (#1134)
Take into account spatial model normalization in MC sampling (#1135)
Add load() and save() methods to GCATObservation (#1149)
Correct LAT PSF computation for sources outside event cube
2014-02-05
* Bug fix Version 0.8.1 released
================================
Added missing hyphens in pfiles synchronisation section (#1091)
Add configuration test script (#1091)
GModelSky, GCTAModelBackground and GCTAModelRadialAcceptance write id attribute into XML file (#1092)
Add GChatter typedef to Python interface
GAMMALIB_CALDB takes precedence over CALDB environment variable (#1094)
Added vo module and GVOClient class to Python interface
Track results of Python unit tests (#1119)
Clean-up calibration database interface (#1102)
Correct 2D PSF Monte-Carlo simulations (#1128)
Correct deadtime computation for CTA non point source response (#1133)
2014-01-18
* Version 0.8.0 released
========================
Major review of public interfaces of all classes
Reorganize sky models
Introduce GContainer interface class
Add Virtual Observatory support
Introduce GUrl classes for transparent URL handling
Make use of GUrl class in XML I/O
Optimize computations
Introduce gammalib namespace for constants and functions
GModelSpatialDiffuseCube reads ENERGIES extension
Add sky region handling
Add on/off analysis support for CTA
Add xspec interface support
Rework registry classes to remove memory leaks on termination
Add support for variable-length FITS columns
Generalise GSkyPixel to 1D and 2D pixelisations
Added King profile PSF for CTA
Reorganise GOptimizerPars class and add GOptimizerPar class
Put likelihood computation in GObservation class
Add broken power law spectral model
Add Gaussian spectral model
Update parameter files if necessary
Implement exact sky map pixel solid angle computation
Rename the following classes:
- GWcs => GSkyProjection
- GWcslib => GWcs
- GWcsHPX => GHealpix
2012-12-18
* Version 0.7.0 released
========================
Add base module for interface classes
Introduce GBase from which almost all classes derive
Add dependency tracking for Python interface
Add COMPTEL instrument interface
Open FITS image using the equivalent data type
Refactor CTA response classes
Define new instrument response interface
Add GSource class
File locking failures do no longer throw exceptions
Optimize GNodeArray computations and add unit tests
Add handling of undefined and NaN values to GPar class
Add GPhotons photon container class
Implement mc(), flux() and eflux() for all spectral models
Rework GTime interface and introduce GTimeReference class
Add GModelSpectralLogParabola spectral model
2012-09-17
* Bug fix version 0.6.2 released
================================
clang++ compiler precedence is only taken for Mac OS X >= 10.7
Omit Python checks if Python bindings are disabled
Enhance OpenMP configuration on Darwin
Export MACOSX_DEPLOYMENT_TARGET only for --enable-universalsdk
Improve Python bindings configuration
Add TEST_ENV_DIR to load library path
2012-09-15
* Bug fix version 0.6.1 released
================================
Do not require gammalib/__init__.py file to be present
clang++ compiler takes precedence over g++ compiler
2012-09-14
* Version 0.6.0 released
========================
Add support for Fermi/LAT Pass 7 data
Add GModelSpatialMap model
Add sky direction access operator to GSkymap class
Add support for diffuse source models to CTA response
Add OpenMP support and parallelize likelihood optimizer
Add unit test support (introduce test module)
Correct bugs in GSparseMatrix
Enhance code quality
2012-04-03
* Version 0.5.0 released
========================
Update license text
Add configure options for Mac OSX universal builds
Break gammalib Python extension into modules
Comply to CTA event list format v1.0.0
Implement XML protocol for observation loading
Add support for CTA 1DC response format
Add GCTAResponseTable class for response file handling
Add GCTAModelRadialPolynom model
Add GCTAModelRadialProfile model
Add GModelSpectralNodes model
Correct Npred integration in GCTAModelRadialAcceptance
2011-10-12
* Version 0.4.12 released
=========================
Add missing #include <cstring> to GTools.cpp
Correct but in python interface for GSymMatrix and GSparseMatrix
2011-10-03
* Version 0.4.11 released
=========================
Add set response() to observation classes
Expose GCTAResponse::offset_sigma() in python
GCTAResponse::aeff() no longer returns negative areas
Improve Npred integration for extended sources in GCTAResponse
Implement environment variable expansion
Correctly fit unbinned for multiple observations
Add eflux() methods to spectral models
Implement flux(), eflux() and mc() for GModelSpectralFunc
Add GLog output methods to Python interface
Add append() and append_standard() methods to GPars
Protect parfile read/write by a file lock
LM optimizer frees any internally fixed parameter at exit
Add row and column manipulation methods for FITS tables
Replace FITS table column methods by access operators
Fix bug in GSparseMatrix::cs_transpose
2011-07-20
* Version 0.4.10 released
=========================
Improve configuration script
Minor bug fixes
2011-07-09
* Version 0.4.9 released
========================
Implement wcslib adaption for GWcs classes
Added AZP, STG, and TAN WCS projections
Add simple offset angle dependence of CTA response
Does not require pkg-config anymore
Add NaN/Inf check in various places (--enable-nan-check)
Test for presence of Python.h
2011-02-24
* Version 0.4.7 released
========================
Fix memory leaks in container classes handling pointers
Add more example scripts
2011-02-21
* Version 0.4.6 released
========================
Add support for extended source models
Implement CTA binned and unbinned support for extended source models
Update GEvents, GObservation and GResponse interfaces
Use operator[] for element access
Strict usage of C++ headers
Add Doxygen and man support (make doxygen; make doxygen-install)
Add html documentation
2011-02-02
* Version 0.4.5 released
========================
Implement CTA radial acceptance model
Generalize model class
Generation of Python bindings no longer requires swig
Include missing headers for Ubuntu and OpenSuse
Improve automatic configuration, remove autogen.sh
Adapt for Solaris 2.10
2011-01-06
* Version 0.4.4 released
========================
Tag sources with GammaLib-00-04-04
Clean up response interface
Correct some bugs and enhance some classes
Correct and validate Fermi-LAT interface for binned analysis
2010-12-20
* Version 0.4.3 released
========================
Tag sources with GammaLib-00-04-03
Add CSV Table interface
Add more source models
First working Fermi-LAT interface for binned analysis
2010-11-23
* Version 0.4.2 released
========================
Tag sources with GammaLib-00-04-02
Enhance FITS interface
2010-11-15
* Version 0.4.1 released
========================
Tag sources with GammaLib-00-04-01
Prototype implementation of XML interface
Prototype implementation of application logger
Cleanup of FITS interface
2010-06-11
* Version 0.4.0 released
========================
Tag sources with GammaLib-00-04-00
2009-10-09
* Version 0.2.0 released
========================
Tag sources with VER-0-2-0