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

Last change on this file since 3528 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
RevLine 
[2615]1#include "sopnamsp.h"
[293]2#include "machdefs.h"
[165]3#include "piinit.h"
[295]4#include "nobjmgr.h"
5#include "servnobjm.h"
[3218]6
7#include "nomdvladapter.h"
[295]8#include "nomhistadapter.h"
[3135]9#include "nomherradapter.h"
[339]10#include "nomgfdadapter.h"
[295]11#include "nomimagadapter.h"
[495]12
13#ifdef SANS_EVOLPLANCK
[584]14#include "nommatvecadapter.h"
[295]15#include "fitsimage.h"
[314]16#include "nomstladapter.h"
[584]17#else
18#include <complex>
19#include "nomtmatvecadapter.h"
[1315]20#include "nomtarradapter.h"
[2697]21
22#include "datatable.h"
[2701]23#include "swppfdtable.h"
[2697]24
[584]25#include "nomskymapadapter.h"
26#include "spherethetaphi.h"
[855]27#include "spherehealpix.h"
[584]28#include "localmap.h"
[2613]29#include "sphereecp.h"
[670]30
31#include "specrespvector.h"
32#include "gaussfilt.h"
33#include "nomspecrespadapter.h"
34
[3024]35#include "piaversion.h"
36
[495]37#endif
[165]38
[295]39int PIAppInitiator::FgInit = 0;
[165]40
[295]41PIAppInitiator::PIAppInitiator(PIStdImgApp * app)
[769]42#ifdef SANS_EVOLPLANCK
[779]43 : PeidaStarRecoInitiator()
[769]44#else
45 : SambaInitiator()
46#endif
[165]47{
48 FgInit++;
49 if (FgInit > 1) return;
[295]50
51 Services2NObjMgr* serv = app->ObjMgr()->GetServiceObj();
52
[3218]53 serv->RegisterClass(new DVList, new NOMAdapter_DVList );
[295]54 serv->RegisterClass(new Histo, new NOMAdapter_Histo );
[455]55 serv->RegisterClass(new HProf, new NOMAdapter_Histo );
[295]56 serv->RegisterClass(new Histo2D, new NOMAdapter_Histo2D );
[3135]57
58 serv->RegisterClass(new HistoErr, new NOMAdapter_HistoErr );
59 serv->RegisterClass(new Histo2DErr, new NOMAdapter_Histo2DErr );
60
[295]61 serv->RegisterClass(new NTuple, new NOMAdapter_NTuple );
[719]62
[2697]63 serv->RegisterClass(new DataTable, new NOMAdapter_DataTable );
[2701]64 serv->RegisterClass(new SwPPFDataTable, new NOMAdapter_DataTable );
[375]65 char* varenv=NULL;
[376]66 if ( (varenv=getenv("PEIDA_TMP")) == NULL ) varenv=getenv("TMPDIR") ;
[375]67 if (varenv) XNTuple::SetSwapPath(varenv);
[295]68
[339]69 serv->RegisterClass(new GeneralFitData, new NOMAdapter_GeneralFitData );
70
[584]71#ifdef SANS_EVOLPLANCK
[295]72 serv->RegisterClass(new Vector, new NOMAdapter_Vector );
73 serv->RegisterClass(new Matrix, new NOMAdapter_Matrix );
[584]74#else
[3528]75// Octobre 2008 : prise en charge tableaux/matrice/vecteurs en uint_4 uint_8
[2930]76 serv->RegisterClass(new TArray<uint_2>, new NOMAdapter_TArray<uint_2> );
[3528]77 serv->RegisterClass(new TArray<uint_4>, new NOMAdapter_TArray<uint_4> );
78 serv->RegisterClass(new TArray<uint_8>, new NOMAdapter_TArray<uint_8> );
[2930]79 serv->RegisterClass(new TArray<int_2>, new NOMAdapter_TArray<int_2> );
[1315]80 serv->RegisterClass(new TArray<int_4>, new NOMAdapter_TArray<int_4> );
[2930]81 serv->RegisterClass(new TArray<int_8>, new NOMAdapter_TArray<int_8> );
[1315]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
[2930]87 serv->RegisterClass(new TVector<uint_2>, new NOMAdapter_TMatrix<uint_2> );
88 serv->RegisterClass(new TMatrix<uint_2>, new NOMAdapter_TMatrix<uint_2> );
[3528]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> );
[2930]93 serv->RegisterClass(new TVector<int_2>, new NOMAdapter_TMatrix<int_2> );
94 serv->RegisterClass(new TMatrix<int_2>, new NOMAdapter_TMatrix<int_2> );
[584]95 serv->RegisterClass(new TVector<int_4>, new NOMAdapter_TMatrix<int_4> );
96 serv->RegisterClass(new TMatrix<int_4>, new NOMAdapter_TMatrix<int_4> );
[2930]97 serv->RegisterClass(new TVector<int_8>, new NOMAdapter_TMatrix<int_8> );
98 serv->RegisterClass(new TMatrix<int_8>, new NOMAdapter_TMatrix<int_8> );
[584]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> );
[1315]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> > );
[584]107#endif
[295]108
[3221]109 /* Avril 2007 : Prise en charge des images par NOMAdapter_TMatrix au lieu de
[3222]110 NOMAdapter_Image<T> , deplace ci-dessous dans SANS_EVOLPLANCK */
[3221]111 serv->RegisterClass(new Image<uint_2>, new NOMAdapter_TMatrix<uint_2> );
[3528]112 serv->RegisterClass(new Image<uint_4>, new NOMAdapter_TMatrix<uint_4> );
113 serv->RegisterClass(new Image<uint_8>, new NOMAdapter_TMatrix<uint_8> );
[3221]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
[295]123 serv->RegisterClass(new Image<uint_2>, new NOMAdapter_Image<uint_2> );
[3221]124 serv->RegisterClass(new Image<int_2>, new NOMAdapter_Image<int_2> );
[295]125 serv->RegisterClass(new Image<int_4>, new NOMAdapter_Image<int_4> );
126 serv->RegisterClass(new Image<r_4>, new NOMAdapter_Image<r_4> );
[3190]127 serv->RegisterClass(new Image<r_8>, new NOMAdapter_Image<r_8> );
[1105]128
[295]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> );
[314]133
134 serv->RegisterClass(new StarList, new NOMAdapter_StarList );
[584]135#else
[2084]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> );
[2613]139 serv->RegisterClass(new SphereECP<int_4>, new NOMAdapter_PixelMap<int_4> );
[584]140 serv->RegisterClass(new LocalMap<r_4>, new NOMAdapter_PixelMap<r_4> );
141 serv->RegisterClass(new SphereThetaPhi<r_4>, new NOMAdapter_PixelMap<r_4> );
[855]142 serv->RegisterClass(new SphereHEALPix<r_4>, new NOMAdapter_PixelMap<r_4> );
[2613]143 serv->RegisterClass(new SphereECP<r_4>, new NOMAdapter_PixelMap<r_4> );
[584]144 serv->RegisterClass(new LocalMap<r_8>, new NOMAdapter_PixelMap<r_8> );
145 serv->RegisterClass(new SphereThetaPhi<r_8>, new NOMAdapter_PixelMap<r_8> );
[855]146 serv->RegisterClass(new SphereHEALPix<r_8>, new NOMAdapter_PixelMap<r_8> );
[2613]147 serv->RegisterClass(new SphereECP<r_8>, new NOMAdapter_PixelMap<r_8> );
[584]148 serv->RegisterClass(new LocalMap<complex<float> >, new NOMAdapter_PixelMap<complex<float> > );
149 serv->RegisterClass(new SphereThetaPhi<complex<float> >, new NOMAdapter_PixelMap<complex<float> > );
[855]150 serv->RegisterClass(new SphereHEALPix<complex<float> >, new NOMAdapter_PixelMap<complex<float> > );
[2613]151 serv->RegisterClass(new SphereECP<complex<float> >, new NOMAdapter_PixelMap<complex<float> > );
[584]152 serv->RegisterClass(new LocalMap<complex<double> >, new NOMAdapter_PixelMap<complex<double> > );
153 serv->RegisterClass(new SphereThetaPhi<complex<double> >, new NOMAdapter_PixelMap<complex<double> > );
[855]154 serv->RegisterClass(new SphereHEALPix<complex<double> >, new NOMAdapter_PixelMap<complex<double> > );
[2613]155 serv->RegisterClass(new SphereECP<complex<double> >, new NOMAdapter_PixelMap<complex<double> > );
[584]156
[670]157 serv->RegisterClass(new GaussianFilter, new NOMAdapter_SpectralResponse );
158 serv->RegisterClass(new SpecRespVec, new NOMAdapter_SpectralResponse );
[165]159
[3024]160 SophyaInitiator::RegisterModule("PIext/piapp", PIAPP_VERSIONNUMBER);
161#endif
[339]162}
163
[295]164PIAppInitiator::~PIAppInitiator()
[165]165{
166 FgInit--;
167/* if (FgInit == 0)
168 {
169 } */
170}
171
Note: See TracBrowser for help on using the repository browser.