source: Sophya/trunk/SophyaPI/PIext/piinit.cc@ 3558

Last change on this file since 3558 was 3528, checked in by ansari, 17 years ago

Instanciation explicite et enregistrement des adaptateurs NObjMgrAdapter pour TArray, et TMatrix/TVector <T> pour T=uint_4, uint_8, Reza 12/10/2008

File size: 7.9 KB
Line 
1#include "sopnamsp.h"
2#include "machdefs.h"
3#include "piinit.h"
4#include "nobjmgr.h"
5#include "servnobjm.h"
6
7#include "nomdvladapter.h"
8#include "nomhistadapter.h"
9#include "nomherradapter.h"
10#include "nomgfdadapter.h"
11#include "nomimagadapter.h"
12
13#ifdef SANS_EVOLPLANCK
14#include "nommatvecadapter.h"
15#include "fitsimage.h"
16#include "nomstladapter.h"
17#else
18#include <complex>
19#include "nomtmatvecadapter.h"
20#include "nomtarradapter.h"
21
22#include "datatable.h"
23#include "swppfdtable.h"
24
25#include "nomskymapadapter.h"
26#include "spherethetaphi.h"
27#include "spherehealpix.h"
28#include "localmap.h"
29#include "sphereecp.h"
30
31#include "specrespvector.h"
32#include "gaussfilt.h"
33#include "nomspecrespadapter.h"
34
35#include "piaversion.h"
36
37#endif
38
39int PIAppInitiator::FgInit = 0;
40
41PIAppInitiator::PIAppInitiator(PIStdImgApp * app)
42#ifdef SANS_EVOLPLANCK
43 : PeidaStarRecoInitiator()
44#else
45 : SambaInitiator()
46#endif
47{
48 FgInit++;
49 if (FgInit > 1) return;
50
51 Services2NObjMgr* serv = app->ObjMgr()->GetServiceObj();
52
53 serv->RegisterClass(new DVList, new NOMAdapter_DVList );
54 serv->RegisterClass(new Histo, new NOMAdapter_Histo );
55 serv->RegisterClass(new HProf, new NOMAdapter_Histo );
56 serv->RegisterClass(new Histo2D, new NOMAdapter_Histo2D );
57
58 serv->RegisterClass(new HistoErr, new NOMAdapter_HistoErr );
59 serv->RegisterClass(new Histo2DErr, new NOMAdapter_Histo2DErr );
60
61 serv->RegisterClass(new NTuple, new NOMAdapter_NTuple );
62
63 serv->RegisterClass(new DataTable, new NOMAdapter_DataTable );
64 serv->RegisterClass(new SwPPFDataTable, new NOMAdapter_DataTable );
65 char* varenv=NULL;
66 if ( (varenv=getenv("PEIDA_TMP")) == NULL ) varenv=getenv("TMPDIR") ;
67 if (varenv) XNTuple::SetSwapPath(varenv);
68
69 serv->RegisterClass(new GeneralFitData, new NOMAdapter_GeneralFitData );
70
71#ifdef SANS_EVOLPLANCK
72 serv->RegisterClass(new Vector, new NOMAdapter_Vector );
73 serv->RegisterClass(new Matrix, new NOMAdapter_Matrix );
74#else
75// Octobre 2008 : prise en charge tableaux/matrice/vecteurs en uint_4 uint_8
76 serv->RegisterClass(new TArray<uint_2>, new NOMAdapter_TArray<uint_2> );
77 serv->RegisterClass(new TArray<uint_4>, new NOMAdapter_TArray<uint_4> );
78 serv->RegisterClass(new TArray<uint_8>, new NOMAdapter_TArray<uint_8> );
79 serv->RegisterClass(new TArray<int_2>, new NOMAdapter_TArray<int_2> );
80 serv->RegisterClass(new TArray<int_4>, new NOMAdapter_TArray<int_4> );
81 serv->RegisterClass(new TArray<int_8>, new NOMAdapter_TArray<int_8> );
82 serv->RegisterClass(new TArray<r_4>, new NOMAdapter_TArray<r_4> );
83 serv->RegisterClass(new TArray<r_8>, new NOMAdapter_TArray<r_8> );
84 serv->RegisterClass(new TArray<complex<r_4> >, new NOMAdapter_TArray<complex<r_4> > );
85 serv->RegisterClass(new TArray<complex<r_8> >, new NOMAdapter_TArray<complex<r_8> > );
86
87 serv->RegisterClass(new TVector<uint_2>, new NOMAdapter_TMatrix<uint_2> );
88 serv->RegisterClass(new TMatrix<uint_2>, new NOMAdapter_TMatrix<uint_2> );
89 serv->RegisterClass(new TVector<uint_4>, new NOMAdapter_TMatrix<uint_4> );
90 serv->RegisterClass(new TMatrix<uint_4>, new NOMAdapter_TMatrix<uint_4> );
91 serv->RegisterClass(new TVector<uint_8>, new NOMAdapter_TMatrix<uint_8> );
92 serv->RegisterClass(new TMatrix<uint_8>, new NOMAdapter_TMatrix<uint_8> );
93 serv->RegisterClass(new TVector<int_2>, new NOMAdapter_TMatrix<int_2> );
94 serv->RegisterClass(new TMatrix<int_2>, new NOMAdapter_TMatrix<int_2> );
95 serv->RegisterClass(new TVector<int_4>, new NOMAdapter_TMatrix<int_4> );
96 serv->RegisterClass(new TMatrix<int_4>, new NOMAdapter_TMatrix<int_4> );
97 serv->RegisterClass(new TVector<int_8>, new NOMAdapter_TMatrix<int_8> );
98 serv->RegisterClass(new TMatrix<int_8>, new NOMAdapter_TMatrix<int_8> );
99 serv->RegisterClass(new TVector<r_4>, new NOMAdapter_TMatrix<r_4> );
100 serv->RegisterClass(new TMatrix<r_4>, new NOMAdapter_TMatrix<r_4> );
101 serv->RegisterClass(new TVector<r_8>, new NOMAdapter_TMatrix<r_8> );
102 serv->RegisterClass(new TMatrix<r_8>, new NOMAdapter_TMatrix<r_8> );
103 serv->RegisterClass(new TVector<complex<r_4> >, new NOMAdapter_TMatrix<complex<r_4> > );
104 serv->RegisterClass(new TMatrix<complex<r_4> >, new NOMAdapter_TMatrix<complex<r_4> > );
105 serv->RegisterClass(new TVector<complex<r_8> >, new NOMAdapter_TMatrix<complex<r_8> > );
106 serv->RegisterClass(new TMatrix<complex<r_8> >, new NOMAdapter_TMatrix<complex<r_8> > );
107#endif
108
109 /* Avril 2007 : Prise en charge des images par NOMAdapter_TMatrix au lieu de
110 NOMAdapter_Image<T> , deplace ci-dessous dans SANS_EVOLPLANCK */
111 serv->RegisterClass(new Image<uint_2>, new NOMAdapter_TMatrix<uint_2> );
112 serv->RegisterClass(new Image<uint_4>, new NOMAdapter_TMatrix<uint_4> );
113 serv->RegisterClass(new Image<uint_8>, new NOMAdapter_TMatrix<uint_8> );
114 serv->RegisterClass(new Image<int_2>, new NOMAdapter_TMatrix<int_2> );
115 serv->RegisterClass(new Image<int_4>, new NOMAdapter_TMatrix<int_4> );
116 serv->RegisterClass(new Image<int_8>, new NOMAdapter_TMatrix<int_8> );
117 serv->RegisterClass(new Image<r_4>, new NOMAdapter_TMatrix<r_4> );
118 serv->RegisterClass(new Image<r_8>, new NOMAdapter_TMatrix<r_8> );
119 serv->RegisterClass(new Image<complex<r_4> >, new NOMAdapter_TMatrix<complex<r_4> > );
120 serv->RegisterClass(new Image<complex<r_8> >, new NOMAdapter_TMatrix<complex<r_8> > );
121
122#ifdef SANS_EVOLPLANCK
123 serv->RegisterClass(new Image<uint_2>, new NOMAdapter_Image<uint_2> );
124 serv->RegisterClass(new Image<int_2>, new NOMAdapter_Image<int_2> );
125 serv->RegisterClass(new Image<int_4>, new NOMAdapter_Image<int_4> );
126 serv->RegisterClass(new Image<r_4>, new NOMAdapter_Image<r_4> );
127 serv->RegisterClass(new Image<r_8>, new NOMAdapter_Image<r_8> );
128
129 serv->RegisterClass(new FitsImage<uint_2>, new NOMAdapter_Image<uint_2> );
130 serv->RegisterClass(new FitsImage<int_2>, new NOMAdapter_Image<int_2> );
131 serv->RegisterClass(new FitsImage<int_4>, new NOMAdapter_Image<int_4> );
132 serv->RegisterClass(new FitsImage<r_4>, new NOMAdapter_Image<r_4> );
133
134 serv->RegisterClass(new StarList, new NOMAdapter_StarList );
135#else
136 serv->RegisterClass(new LocalMap<int_4>, new NOMAdapter_PixelMap<int_4> );
137 serv->RegisterClass(new SphereThetaPhi<int_4>, new NOMAdapter_PixelMap<int_4> );
138 serv->RegisterClass(new SphereHEALPix<int_4>, new NOMAdapter_PixelMap<int_4> );
139 serv->RegisterClass(new SphereECP<int_4>, new NOMAdapter_PixelMap<int_4> );
140 serv->RegisterClass(new LocalMap<r_4>, new NOMAdapter_PixelMap<r_4> );
141 serv->RegisterClass(new SphereThetaPhi<r_4>, new NOMAdapter_PixelMap<r_4> );
142 serv->RegisterClass(new SphereHEALPix<r_4>, new NOMAdapter_PixelMap<r_4> );
143 serv->RegisterClass(new SphereECP<r_4>, new NOMAdapter_PixelMap<r_4> );
144 serv->RegisterClass(new LocalMap<r_8>, new NOMAdapter_PixelMap<r_8> );
145 serv->RegisterClass(new SphereThetaPhi<r_8>, new NOMAdapter_PixelMap<r_8> );
146 serv->RegisterClass(new SphereHEALPix<r_8>, new NOMAdapter_PixelMap<r_8> );
147 serv->RegisterClass(new SphereECP<r_8>, new NOMAdapter_PixelMap<r_8> );
148 serv->RegisterClass(new LocalMap<complex<float> >, new NOMAdapter_PixelMap<complex<float> > );
149 serv->RegisterClass(new SphereThetaPhi<complex<float> >, new NOMAdapter_PixelMap<complex<float> > );
150 serv->RegisterClass(new SphereHEALPix<complex<float> >, new NOMAdapter_PixelMap<complex<float> > );
151 serv->RegisterClass(new SphereECP<complex<float> >, new NOMAdapter_PixelMap<complex<float> > );
152 serv->RegisterClass(new LocalMap<complex<double> >, new NOMAdapter_PixelMap<complex<double> > );
153 serv->RegisterClass(new SphereThetaPhi<complex<double> >, new NOMAdapter_PixelMap<complex<double> > );
154 serv->RegisterClass(new SphereHEALPix<complex<double> >, new NOMAdapter_PixelMap<complex<double> > );
155 serv->RegisterClass(new SphereECP<complex<double> >, new NOMAdapter_PixelMap<complex<double> > );
156
157 serv->RegisterClass(new GaussianFilter, new NOMAdapter_SpectralResponse );
158 serv->RegisterClass(new SpecRespVec, new NOMAdapter_SpectralResponse );
159
160 SophyaInitiator::RegisterModule("PIext/piapp", PIAPP_VERSIONNUMBER);
161#endif
162}
163
164PIAppInitiator::~PIAppInitiator()
165{
166 FgInit--;
167/* if (FgInit == 0)
168 {
169 } */
170}
171
Note: See TracBrowser for help on using the repository browser.