Commit 81b60baee56f9c9bbfb6d089a2ff502e16ac000b
Merge branch 'devel' into 1044-implement-onoff-fitting
Showing
12 changed files
with
140 additions
and
570 deletions
.gitignore
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 | ... | ... |
NEWS
| 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
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& 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& 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& 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& 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
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& 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." | ... | ... |