source: Sophya/trunk/SophyaExt/FitsIOServer/fiosinit.cc@ 3407

Last change on this file since 3407 was 3171, checked in by ansari, 19 years ago

Changement de numero de version FitsIOServer (2. -> 2.1) suite passage a la version ll (LONGLONG) des routines fits , cmv+Reza 02/02/2007

File size: 3.1 KB
Line 
1// Classe d'initialisation du module FitsIOServer
2
3#include "sopnamsp.h"
4#include "machdefs.h"
5#include "fiosinit.h"
6#include "fitsmanager.h"
7#include "fitshdtable.h"
8#include "fitsarrhand.h"
9
10#include "fitsntuple.h"
11#include "fitsspherehealpix.h"
12#include "fitsspherethetaphi.h"
13#include "fitslocalmap.h"
14#include "fitshistos.h"
15#include "fitsgenedata.h"
16
17
18#include <iostream>
19
20/*!
21 \class SOPHYA::FitsIOServerInitiator
22 \ingroup FitsIOServer
23 Perform registration of fits handlers.
24 \sa SOPHYA::FitsManager
25 */
26int FitsIOServerInitiator::FgInit = 0;
27
28// Module version number - 2.0 , Jul 2006
29// Module version number - 2.1 , Fev 2007 (version ll (LONGLONG) de cfitsio)
30#define MOD_VERS 2.1
31
32FitsIOServerInitiator::FitsIOServerInitiator()
33 : SophyaInitiator()
34{
35 FitsIOServerInitiator::FgInit++;
36 if (FitsIOServerInitiator::FgInit > 1) return;
37
38// Enregistrement des classes FitsHandler
39 //DBG cout << " ---- FitsIOServerInitiator / DEBUG ---- debut RegisterHandler " << endl;
40 FitsManager::RegisterHandler(new FitsArrayHandler<int_2> , 1, "TArray<int_2>");
41 FitsManager::RegisterHandler(new FitsArrayHandler<int_4> , 1, "TArray<int_4> ");
42 FitsManager::RegisterHandler(new FitsArrayHandler<r_4> , 1, "TArray<r_4>");
43 FitsManager::RegisterHandler(new FitsArrayHandler< r_8 > , 1, "TArray<r_8>");
44
45 FitsManager::RegisterHandler(new FitsHandler<BaseDataTable>, 1, "DataTable");
46
47 // Enregistrement des classes heritant de FitsIOHandler
48 FitsManager::RegisterHandler(new FITS_NTuple, 0, "NTuple");
49 FitsManager::RegisterHandler(new FitsHandler<Histo>, 0, "Histo");
50 FitsManager::RegisterHandler(new FitsHandler<Histo2D>, 0, "Histo2D");
51 FitsManager::RegisterHandler(new FitsHandler<GeneralFitData>, 0, "GeneralFitData");
52
53 FitsManager::RegisterHandler(new FITS_SphereHEALPix<r_4> , 0, "SphereHEALPix<r_4>");
54 FitsManager::RegisterHandler(new FITS_SphereHEALPix<r_8> , 0, "SphereHEALPix<r_8>");
55 FitsManager::RegisterHandler(new FITS_SphereHEALPix<int_4> , 0, "SphereHEALPix<int_4>");
56
57 FitsManager::RegisterHandler(new FITS_SphereThetaPhi<r_4> , 0, "SphereThetaPhi<r_4>");
58 FitsManager::RegisterHandler(new FITS_SphereThetaPhi<r_8> , 0, "SphereThetaPhi<r_8>");
59 FitsManager::RegisterHandler(new FITS_SphereThetaPhi<int_4> , 0, "SphereThetaPhi<int_4>");
60
61 FitsManager::RegisterHandler(new FITS_LocalMap<r_4> , 0, "LocalMap<r_4>");
62 FitsManager::RegisterHandler(new FITS_LocalMap<r_8> , 0, "LocalMap<r_8>");
63 FitsManager::RegisterHandler(new FITS_LocalMap<int_4> , 0, "LocalMap<int_4>");
64
65 //DBG cout << " ---- FitsIOServerInitiator / DEBUG ---- ListHandlers() : " << endl;
66 //DBG FitsManager::ListHandlers();
67
68 SophyaInitiator::RegisterModule("FitsIOServer", MOD_VERS); // Module name and version number registration
69}
70
71FitsIOServerInitiator::~FitsIOServerInitiator()
72{
73 FitsIOServerInitiator::FgInit--;
74}
75
76
77// On met un objet initiator en statique, pour les loaders qui savent
78// appeler le constructeur des objets statiques
79// #if !defined(Darwin)
80// Probleme rencontre de nouveau en Juillet 2006 sur MacOS :
81// La presence de l'objet statique fait planter les progs linkes libextsophya.dylib
82// static FitsIOServerInitiator s_fios_init_;
83// #endif
84
Note: See TracBrowser for help on using the repository browser.