NEWS
6.21 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
New Features and Important Changes in GammaLib 1.1.0
Author(s) : Juergen Knoedlseder
16 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:
- 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
---------------------
None
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
---------------
None
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.
11. Optimization module
-----------------------
None
12. Sky module
--------------
None
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
-------------
None
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