source: Sophya/trunk/SophyaLib/SkyMap/skymapinit.cc@ 3020

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

Adaptation modification SophyaInitiator/ enregistrement SkyMap - pret pour tag V2 Reza 17/7/2006

File size: 3.5 KB
Line 
1// Classe d'initialisation du module Outils++
2#include "sopnamsp.h"
3#include "machdefs.h"
4#include "skymapinit.h"
5
6#include <unistd.h>
7#include "spherethetaphi.h"
8#include "fiospherehealpix.h"
9#include "fiospherethetaphi.h"
10#include "fiolocalmap.h"
11#include "fiosphereecp.h"
12
13/*!
14 \defgroup SkyMap SkyMap module
15 This module contains classes for handling partial and full sky (spherical) maps
16*/
17
18/*!
19 \class SOPHYA::SkyMapInitiator
20 \ingroup SkyMap
21 Class handling initialization for module SkyMap
22*/
23
24int SkyMapInitiator::FgInit = 0;
25
26// Module version number - 1.6, Jul 06
27#define MOD_VERS 1.6
28
29SkyMapInitiator::SkyMapInitiator()
30 : SophyaInitiator()
31{
32 FgInit++;
33 if (FgInit > 1) return;
34
35// Enregistrement des classes PPersist du module SkyMap
36
37 // ---------- Les SphereThetaPhi ---------
38
39 PPRegister(FIO_SphereCoordSys);
40 DObjRegister(FIO_SphereCoordSys, SphereCoordSys);
41
42 PPRegister(FIO_SphereThetaPhi<int_4>);
43 DObjRegister(FIO_SphereThetaPhi<int_4>, SphereThetaPhi<int_4>);
44
45 PPRegister(FIO_SphereThetaPhi<r_4>);
46 DObjRegister(FIO_SphereThetaPhi<r_4>, SphereThetaPhi<r_4>);
47
48 PPRegister(FIO_SphereThetaPhi<r_8>);
49 DObjRegister(FIO_SphereThetaPhi<r_8>, SphereThetaPhi<r_8>);
50
51 PPRegister(FIO_SphereThetaPhi< complex<r_4> >);
52 DObjRegister(FIO_SphereThetaPhi< complex<r_4> >, SphereThetaPhi< complex<r_4> >);
53
54 PPRegister(FIO_SphereThetaPhi< complex<r_8> >);
55 DObjRegister(FIO_SphereThetaPhi< complex<r_8> >, SphereThetaPhi< complex<r_8> >);
56
57
58 // ---------- Les SphereHEALPix ---------
59
60 PPRegister(FIO_SphereHEALPix<uint_2>);
61 DObjRegister(FIO_SphereHEALPix<uint_2>, SphereHEALPix<uint_2>);
62
63 PPRegister(FIO_SphereHEALPix<int_4>);
64 DObjRegister(FIO_SphereHEALPix<int_4>, SphereHEALPix<int_4>);
65
66 PPRegister(FIO_SphereHEALPix<r_4>);
67 DObjRegister(FIO_SphereHEALPix<r_4>, SphereHEALPix<r_4>);
68
69 PPRegister(FIO_SphereHEALPix<r_8>);
70 DObjRegister(FIO_SphereHEALPix<r_8>, SphereHEALPix<r_8>);
71
72 PPRegister(FIO_SphereHEALPix< complex<r_4> >);
73 DObjRegister(FIO_SphereHEALPix< complex<r_4> >, SphereHEALPix< complex<r_4> >);
74
75 PPRegister(FIO_SphereHEALPix< complex<r_8> >);
76 DObjRegister(FIO_SphereHEALPix< complex<r_8> >, SphereHEALPix< complex<r_8> >);
77
78 // ------------ Les LocalMap ---------
79 PPRegister(FIO_LocalMap<int_4>);
80 DObjRegister(FIO_LocalMap<int_4>, LocalMap<int_4>);
81
82 PPRegister(FIO_LocalMap<r_4>);
83 DObjRegister(FIO_LocalMap<r_4>, LocalMap<r_4>);
84
85 PPRegister(FIO_LocalMap<r_8>);
86 DObjRegister(FIO_LocalMap<r_8>, LocalMap<r_8>);
87
88 PPRegister(FIO_LocalMap< complex<r_4> >);
89 DObjRegister(FIO_LocalMap< complex<r_4> >, LocalMap< complex<r_4> >);
90
91 PPRegister(FIO_LocalMap< complex<r_8> >);
92 DObjRegister(FIO_LocalMap< complex<r_8> >, LocalMap< complex<r_8> >);
93
94 // ---------- Les SphereECP ---------
95
96 PPRegister(FIO_SphereECP<int_4>);
97 DObjRegister(FIO_SphereECP<int_4>, SphereECP<int_4>);
98
99 PPRegister(FIO_SphereECP<r_4>);
100 DObjRegister(FIO_SphereECP<r_4>, SphereECP<r_4>);
101
102 PPRegister(FIO_SphereECP<r_8>);
103 DObjRegister(FIO_SphereECP<r_8>, SphereECP<r_8>);
104
105 PPRegister(FIO_SphereECP< complex<r_4> >);
106 DObjRegister(FIO_SphereECP< complex<r_4> >, SphereECP< complex<r_4> >);
107
108 PPRegister(FIO_SphereECP< complex<r_8> >);
109 DObjRegister(FIO_SphereECP< complex<r_8> >, SphereECP< complex<r_8> >);
110
111 SophyaInitiator::RegisterModule("SkyMap", MOD_VERS); // Module name and version number registration
112}
113
114SkyMapInitiator::~SkyMapInitiator()
115{
116 FgInit--;
117}
118
119
120// On met un objet initiator en statique, pour les loaders qui savent
121// appeler le constructeur des objets statiques Reza 08/98
122static SkyMapInitiator s_sskymapinit_;
123
124
Note: See TracBrowser for help on using the repository browser.