GammaLib
GammaLib est une bibliothèque C++ incluant toutes les fonctionnalités nécessaires à l'analyse d'observations astronomiques réalisées dans le domaine gamma. Un télescope gamma fournit typiquement une liste d'événements détectés, caractérisés par un temps, une énergie, une direction d'incidence...etc. GammaLib permet d'exploiter ces données de bas niveau (proches de l'instrument) et d'en extraire les images, spectres, et courbes de lumière à partir desquels l'analyse scientifique à un niveau plus élevé peut être effectuée. La vocation première de GammaLib est de fournir un cadre logiciel aussi indépendant que possible d'un instrument donné. GammaLib peut être adapté à un télescope spécifique et/ou permettre l'analyse simultanée d'observations issues de plusieurs télescopes gamma.
GammaLib est organisé en modules:
- un module pour le traitement des observations et des données en astronomie gamma (gestion des observations, des données, des fonctions de réponse...etc.)
- un module pour la définition des modèles (sources astrophysiques et bruits de fond)
- un module pour l'ajustement de modèles aux données
- un module pour la gestion des images FITS (Flexible Image Transport System) suivant le standard WCS (World Coordinate System) et incluant le format HEALPix (Hierarchical Equal Area isoLatitude Pixelization)
- un module pour la création des ftools (executables suivant les standards du HEASARC)
- un module pour le calcul numérique (intégration, différentation)
- un module pour l'algèbre (vecteurs, matrices, matrices creuses)
- un module pour des fonctions de support aux autres classes
- une interface FITS pour la lecture et l'écriture des données
- une interface pour la lecture et l'écriture des fichiers au format XML
- une interface des paramètres selon le format IRAF (Image Reduction and Analysis Facility)
GammaLib est hautement portable et nécessite seulement un compilateur C++ pour sa construction. La seule dépendance nécessaire pour son fonctionnement est la bibliothèque cfitsio qui fournit l'interface FITS. Si disponible, GammaLib peut également profiter d'un support OpenMP pour effectuer du calcul parallèle sur des ordinateurs à processeurs ou coeurs multiples.
Toutes les fonctionnalités sont accessibles à travers une interface C++. De plus, toutes les classes de GammaLib sont également disponibles comme classes Python (version 2 et 3).
Pour permettre l'analyse des données d'un télescope spécifique, un module dédié doit être implémenté, décrivant le format et la structure des données du télescope, ainsi que sa fonction de réponse instrumentale. Par défaut, GammaLib permet pour le moment le traitement des données :
- du télescope spatial Fermi/LAT,
- du télescope spatial CGRO/COMPTEL,
- des télescopes Cherenkov existants (H.E.S.S., MAGIC, VERITAS),
- et du futur Cherenkov Telescope Array (CTA).
Des données en forme de spectres peuvent également être traitées.
GammaLib a été conçu pour l'astronomie gamma, mais ses fonctionnalités peuvent être utilisées dans bien d'autres domaines, par exemple:
Les formats suivants sont supportés pour échanger des données et des paramètres:
La bibliothèque sert pour le prototypage des logiciels d'analyse scientifique ctools pour le projet Cherenkov Telescope Array (CTA).
Elle sert également pour l'analyse des données du télescope LAT sur le satellite Fermi. Des éléments de la bibliothèque sont égalements utilisés dans le système d'analyse scientifique développé par l'IRAP pour l'exploitation du télescope SPI sur le satellite INTEGRAL.
Certains éléments de la bibliothèque sont encore dans un stade de prototypage. Par exemple, la vérification de la syntaxe XML n'est pas implémentée complètement. et l'interface des paramètres IRAF n'effectue pas encore une vérification des limites.
L'analyse de données Fermi/LAT est seulement supportée pour les analyses de type "binned". L'analyse de données COMPTEL est uniquement possible pour des sources ponctuelles, et il manque encore la gestion des modèles de bruit de fond instrumental sophistiqués. L'analyse de données CTA est toujours en évolution, car le format de données et la fonction de réponse instrumentale ne sont pas encore définitivement établis. Aucune interface pour autres télescopes gamma n'a été implémentée. Ce qui manque en particulier est un support du télescope SPI sur INTEGRAL.
L'interface du logiciel n'est pas encore sous contrôle de configuration. Une version 1.0 avec une interface stable est attendue pour le courant de l'année 2013.
Commentaires
code sprint at IRAP (Toulouse, France) from June 24 (noon)
Following some initial discussions, we are currently planning to implement some traditional analysis methods of TeV data in GammaLib and ctools for concept validation. Our initial goal is to provide support for a point source spectral analysis for data taken in wobble mode using background estimates from reflected regions.
In order to implement the code, a code sprint is planned at IRAP (Toulouse, France) from June 24 (noon) - June 28 (noon).
Some initial planning for this sprint can be found at https://cta-redmine.irap.omp.eu/projects/gammalib/...
The meeting will start with some introduction to GammaLib and ctools development, followed by a common software coding session (for the spirit of the meeting see https://en.wikipedia.org/wiki/Sprint_(software_development) ).