NEWS
7.08 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
New Features and Important Changes in GammaLib 1.3.0.dev1
14 April 2017
1. Introduction
---------------
This document briefly summarizes module by module the most important changes
made since the last release of GammaLib.
2. Public interface modifications
---------------------------------
The following classes have been added:
- GPhases
- GWcsGLS
- GWcsSFL
- GModelSpectralSmoothBrokenPlaw
The following classes have been removed:
- ...
The following classes have been renamed:
- ...
The following methods have been added:
- GEbounds::set(GEnergies&)
- GEbounds::emin(int&, GEnergy&)
- GEbounds::emax(int&, GEnergy&)
- GEnergies::set(GEbounds&)
- GFilename::type()
- GMatrix::operator+(double&)
- GMatrix::operator-(double&)
- GMatrix::operator+=(double&)
- GMatrix::operator-=(double&)
- GMatrixSymmetric::operator+(double&)
- GMatrixSymmetric::operator-(double&)
- GMatrixSymmetric::operator+=(double&)
- GMatrixSymmetric::operator-=(double&)
- GMatrixSparse::operator+(double&)
- GMatrixSparse::operator-(double&)
- GMatrixSparse::operator+=(double&)
- GMatrixSparse::operator-=(double&)
- GCTAResponseIrf::rspname()
- GCTARoi::contains(GCTAInstDir&)
- GCTAEdisp2D::fetch()
- GCTAAeff::ebounds()
- GCTAAeff2D::ebounds()
- GCTAAeffArf::ebounds()
- GCTAAeffPerfTable::ebounds()
- GCTAEventList::append_column(GFitsTableCol&)
- GCTAEventList::has_phase(bool&)
- GCTAEventList::has_phase()
- GCTAEventList::has_detxy(bool&)
- GCTAEventList::has_detxy()
- GCTAEventList::has_mc_id(bool&)
- GCTAEventList::has_mc_id()
- GCTAEventList::set_mc_id_names(std::vector<int>&, std::vector<std::string>&)
- GCTAEventAtom::mc_id(int&)
- GCTAEventAtom::mc_id()
The following methods have been removed:
- ...
The following methods have been renamed:
- ...
The arguments for the following methods have been changed:
- ...
The return value of the following methods has been changed:
- ...
3. Configuration
-----------------
The Python unit tests now raise exceptions instead of exiting with a non-
zero return code so that the user is not thrown out of Python after calling
gammalib.test() (#1983).
If the code originates from the Git repository the configuration now switches
to developer mode which implies that the Python bindings are always built.
This solves the problem that occured for developers that could not get rid
of existing Python wrappers, even if they modified the Python interface
(#1985).
The shared libraries needed by the Python wrappers are now copied into a
build/gammalib directory for unit testing instead of creating a symbolic
link since on shared VM file systems symbolic links may not work (#1987).
4. Application module
---------------------
None
5. Base module
--------------
None
6. FITS I/O Interface
---------------------
FITS image type conversion constructors have been added to convert a FITS
image of any type into a specific storage class (#1986).
7. Linear algebra module
------------------------
Add operators for addition and subtraction of scalars to all matrix classes
(#1990).
8. Model module
---------------
The GModelSpectralNodes class now throws an exception if the energy or
intensity of a node is set to a non-positive value (#990).
The GModelSpectralSmoothBrokenPlaw class that implements a smoothly broken
power law spectrum has been added (#1948).
The scale of the composite spatial models can now be fitted by adding the
free_scale="1" attribute to the XML file (#1992).
9. Numerics module
------------------
None
10. Observation module
----------------------
A set() method has been added to GEbounds and GEnergies to allow converting
energy boundaries into an energy container and vice versa. In addition,
conversion constructors have been added (#1977).
The GEbounds::set_lin() and GEbounds::set_log() method now throw exceptions
if the minimum energy is larger than the maximum energy. In addition, the
GEbounds::set_log() method throws an exception if either the minimum or
maximum energy are zero. Furthermore, the methods clear the energy boundaries
if the requested number of intervals is non-zero (#1989).
The GPhases class has been added to handle phase selections of events (#1996).
11. Optimization module
-----------------------
None
12. Sky module
--------------
The GWcsGLS and GWcsSFL classes have been added to support the GLS and SFL
World Coordinate System projections (#1851).
The GWcs base class now also supports CD keywords instead of CDELT keywords
(#1951).
13. Support module
------------------
A GFilename::type() method has been added that returns the type of the file
based on the file type extension (e.g. ".fits") (#1863).
14. XML module
--------------
None
15. VO module
-------------
None
16. Xspec module
----------------
None
17. Test module
---------------
None
18. Multi-wavelength interface
------------------------------
None
19. Fermi-LAT interface
----------------------
None
20. CTA interface
-----------------
Correct the containment radius computation in GCTAPsf2D (#1876).
The GCTAResponseIrf::rspname() method has been added that returns the name
of the response function (attribute m_rspname).
Do no longer interpret a CTA calibration database as a file path in the
GCTAResponseIrf::read() method (#1969).
Add GCTARoi::contains() method that checks whether an instrument direction
is contained within the region of interest.
Lazy loading of the energy dispersion in GCTAEdisp2D has been implemented by
adding a fetch() method to the class. Now the energy dispersion is only loaded
when needed, for example for function evaluation or Monte Carlo sampling (#1940).
The GCTAEdisp2D::compute_ebounds_src() method now loops over the migration to
enhance the precision in the true energy boundaries that are returned by this
method. In addition, the validity range of the table is now stored in members
of the class, and a non-zero energy dispersion is only returned for valid
elements of the response table.
An GCTAAeff::ebounds() method has been added to the abstract interface for
effective area responses to return the valid energy range of the effective
area (#1989).
The GCTAModelAeffBackground::mc() could get stuck in the rejection loop if the
effective area returned is always zero. A counter has been added that leads to
the exit of the loop in case that 1000 subsequent zero values are returned
(#1988).
A GCTAEventList::append_column() method has been added to allow appending of
FITS columns to an event list. The method checks whether the length of the
FITS column is compatible with the number of events that are present in the
event list (#1991).
Add GCTAEventList::has_phase() and GCTAEventList::has_detxy() getter and setter
methods to manipulate the event list information flags (#1982).
Add GCTAEventList::has_mc_id() and GCTAEventAtom::mc_id() getter and setter methods
to set the Monte Carlo identifier of a given event. This allows to attribute a
Monte Carlo simulated event to a specific model (#1483).
Add GCTAEventList::set_mc_id_names() method to store Monte Carlo metadata into an
event list and to write this information into the FITS header. Furthermore, the
information is read back when loading an event list (#1483).
21. COMPTEL interface
---------------------
None