NEWS
7.88 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
New Features and Important Changes in GammaLib 1.1.0
Author(s) : Juergen Knoedlseder
23 February 2016
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 methods have been added to the public interface:
- GObservation::events() (non-const variant)
- GFilename::operator std::string()
- GFilename::exists()
- GFilename::is_fits()
- GFilename::remove()
- GFilaname::protocol()
- GFilename::path()
- GFilename::file()
- GCTAResponseTable::axis(std::string)
- GCTAResponseTable::table(std::string)
- GCTAResponseTable::has_axis(std::string)
- GCTAResponseTable::has_table(std::string)
The following methods have been removed:
- GFilename::size()
- gammalib::file_exists()
- gammalib::file_exists_gzip()
- gammalib::is_fits()
The following methods have been renamed:
- GCTAResponseTable::tables(), was GCTAResponseTable::size()
- GCTAResponseTable::axis_bins(), was GCTAResponseTable::axis()
- GFilename::is_empty(), was GFilename::empty()
- GFilename::url(), was GFilename::filename()
The following classes now use GFilename for filenames arguments instead
of std::string:
- GApplicationPar
- GApplicationPars
- GArf
- GCsv
- GEbounds
- GEnergies
- GEventCube, GCOMEventCube, GCTAEventCube, GLATEventCube, GMWLSpectrum
- GEventList, GCTAEventList, GLATEventList
- GEvents
- GGti
- GLog
- GModelSpatialDiffuseCube
- GModelSpatialDiffuseMap
- GModelSpectralFunc
- GModels
- GNodeArray
- GObservations
- GPha
- GRmf
- GSkyMap
- GSkyRegions
- GTestSuites
- GXml
- GCTAAeff, GCTAAeff2D, GCTAAeffArf, GCTAAeffPerfTable
- GCTABackground, GCTABackground3D, GCTABackgroundPerfTable
- GCTACubeBackground, GCTACubeExposure, GCTACubePsf
- GCTAEdisp, GCTAEdisp2D, GCTAEdispPerfTable, GCTAEdispRmf
- GCTAObservation
- GCTAOnOffObservations
- GCTAPointing
- GCTAPsf, GCTAPsf2D, GCTAPsfKing, GCTAPsfPerfTable, GCTAPsfVector
The return value has been changed for the following methods:
- GFits::filename() returns now GFilename instead of std::string
- GCTAObservation::eventtype() returns now std::string instead of const std::string&
3. Configuration
-----------------
None
4. Application module
---------------------
The GApplicationPar::filename() methods now take and return GFilename objects
instead of std::string objects (#1671).
5. Base module
--------------
None
6. FITS I/O Interface
---------------------
The GFitsTableCol::insert() method did not work corretly for an empty column
since it de-allocated memory without having necessarily memory on disk. This
was corrected by allocating now memory after inserting elements into an empty
FITS column.
GFits now uses the GFilename class to store the FITS filename (fixes #1649).
7. Linear algebra module
------------------------
None
8. Model module
---------------
Sky directions drawn by GModelSpatialDiffuseConst::mc() are now restricted
to the simulation cone that has previously been defined using the mc_norm()
method. This speeds up considerbly the Monte Carlo simulations for an
isotropic diffuse model (#1674).
The GModelSpectral eval() and eval_gradients() methods use an empty GTim()
object as default time argument since all spectral models are so far time-
independent. This avoids that a user needs to specify a dummy time argument
(#1672).
The set_mc_cone() methods of the GModelSpatialDiffuseCube class and the
GModelSpatialDiffuseMap class now recompute only the Monte Carlo acceptance
cone in case that the cone centre or radius have changed since the last
computation. This speeds up the computations (#1673).
9. Numerics module
------------------
None
10. Observation module
----------------------
A non-const GObservation::events() method has been added to allow for
the manipulation of events within an observation without the need to
create a local copy.
The argument of GObservation::deadc(GTime) now defaults to GTime() so
that no argument is needed when calling the method. This reflects the
fact that the deadtime correction is often computed as an average value
over the observation, and does in fact not depend on time (#1670).
11. Optimization module
-----------------------
None
12. Sky module
--------------
The GSkyMap load() and save() methods now support the handling of FITS
extension names. Users can now specify with which extension name a sky
map is written to a FITS file, and from which extension name it should
be loaded. This allows to have multiple sky maps in the same file, and
to mix also HEALPix and WCS maps in the same file (#1695).
13. Support module
------------------
The GFilename class has been extended and some methods have been renamed.
The full filename including and FITS extension is now returned by an
implicit type conversion operator std::string(). The filename() method has
been renamed to url(), and the methods exists(), is_fits() and remove()
have been added to replace functions of the GTools module that were used
for this purpose in the past. Furthermore, the method protocol() returns
the access protocol (e.g. http, ftp, file) of the file name, the method
path() returns the path of th file name, and the method file() returns the
file name without the path.
14. XML module
--------------
None
15. VO module
-------------
A GVOClient::publish() method was added that allows publishing of a FITS
image to the Hub. The FITS image will be saved into a temporary storage
location and the Hub will be informed that an image is available.
16. Xspec module
----------------
None
17. Test module
---------------
None
18. Multi-wavelength interface
------------------------------
None
19. Fermi-LAT interface
----------------------
None
20. CTA interface
-----------------
The response table instrument response functions now rely on the FITS table
column names to determine the information instead of hard-wired column indices
(#1656).
Event fetching and disposal has been implemented in the GCTAEventList class by
additing the fetch() and dispose() methods. Now, events are only loaded upon
request and can be dispatched after user to save memory. The event fetching and
disposal logic has been removed from GCTAObservation (#1648).
Add GCTAEventList::remove() method to remove events from an event list.
The GCTAEventList::append() method now also appends empty elements to the
additional columns so that all event list columns have finally the same length.
The GCTAEdisp2D::compute_ebounds_obs() and GCTAEdisp2::compute_ebounds_src()
methods have been corrected so that they return the energy intervals covered by
valid matrix elements. With the code before there were problems with not setting
correctly the maximum energies of the intervals (#1662).
The extension name for the GTI HDU is now determined from the data sub-space
keyword provided in the events FITS file header. This allows to have multiple
GTIs (and also event lists) in a single FITS file. We do however require that
the event and GTI extension reside in the same FITS file. The name of the GTI
extension can be recovered using the GCTAEventList::gtiname() method. This
satisfies the feature request #1598.
A second variant of a write() method has been added to GCTAEventList that allows
specifying the events and Good Time Intervals FITS extension names. The standard
write() method will call this new write() method using the events extension name
extracted from the file name and the GTI extension name set by the m_gti_extname
member. The GCTAObservation::write() method was also extended and now has two
optional arguments that allow specifying the events and Good Time Interval FITS
extension names. These are simply forwared to the new GCTAEventList::write().
The GCTAObservation::save() method has now a special logic that decodes any
optionally specified extension in the format [EVENTS;GTI] into an events and a
Good Time Intervals extension name. These changes satisfy the feature request
#1598.
21. COMPTEL interface
---------------------
None