source: Sophya/trunk/SophyaPI/PIext/nomhistadapter.cc@ 3008

Last change on this file since 3008 was 3008, checked in by cmv, 19 years ago

add GetInfoString pour adapter H1D et H2D cmv 5/7/2006

File size: 16.3 KB
RevLine 
[2615]1#include "sopnamsp.h"
[295]2#include "machdefs.h"
3#include <stdlib.h>
4#include <typeinfo>
[2322]5#include <iostream>
[295]6#include <string>
7
8#include "nomhistadapter.h"
9#include "pihisto.h"
10#include "pihisto2d.h"
11#include "pipodrw.h"
[546]12#include "servnobjm.h"
[295]13
[1207]14#ifndef SANS_EVOLPLANCK
15#include "objfitter.h"
[2697]16// Pour les DataTable ( Depuis Avril 2005 )
17#include "datatable.h"
[2701]18#include "swppfdtable.h"
[1207]19#endif
20
[2605]21//-----------------------------------------------------------------------------
22// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet Histo / HProf / HistoErr
23//-----------------------------------------------------------------------------
[295]24
25/* --Methode-- */
26NOMAdapter_Histo::NOMAdapter_Histo(Histo* o)
27 : NObjMgrAdapter(o)
28{
29mHis = o;
30}
31
32/* --Methode-- */
33NOMAdapter_Histo::~NOMAdapter_Histo()
34{
35}
36
37/* --Methode-- */
38NObjMgrAdapter* NOMAdapter_Histo::Clone(AnyDataObj* o)
39{
40Histo* h = dynamic_cast<Histo *>(o);
41if (h) return ( new NOMAdapter_Histo(h) );
42return ( new NObjMgrAdapter(o) );
43}
44
[463]45/* --Methode-- */
[1165]46string NOMAdapter_Histo::GetDataObjType()
[463]47{
[1165]48HProf * hp = dynamic_cast<HProf *>(mHis);
[2605]49HistoErr * herr = dynamic_cast<HistoErr *>(mHis);
50if(hp) return("HProf ");
51else if(herr) return("HistoErr ");
52else return("Histo ");
[1165]53}
54
55/* --Methode-- */
[2383]56string NOMAdapter_Histo::GetInfoString(int lev)
57{
58 char buff[128];
59 string rs;
60 if (lev > 2) {
61 sprintf(buff, "Histo: NBin=%d XMin=%lg XMax=%lg\n", mHis->NBins(),
62 mHis->XMin(), mHis->XMax());
63 rs += buff;
64 }
[2629]65 sprintf(buff, "Entries= %llu \n",mHis->NEntries());
[2383]66 rs += buff;
67 if (lev > 0) {
68 sprintf(buff, "Overflow= %lg \n", mHis->NOver());
69 rs += buff;
70 sprintf(buff, "Underflow= %lg \n", mHis->NUnder());
71 rs += buff;
72 }
73 sprintf(buff, "Mean= %lg \n", mHis->Mean());
74 rs += buff;
75 sprintf(buff, "Sigma= %lg \n", mHis->Sigma());
76 rs += buff;
77 return rs;
78}
79
80/* --Methode-- */
[3008]81string NOMAdapter_Histo::GetInfoString(vector<string>& opts)
82{
83 string blabla = "Histo1D: nbin binw mean sigma over under nentries ndata";
84 blabla += " xmin xmax vmin vmax imin imax";
85
86 if(opts.size() == 0) return GetInfoString(3);
87
88 char buff[64];
89 if(opts[0] == "nbin") {
90 sprintf(buff, "%d",mHis->NBins());
91 } else if(opts[0] == "binw") {
92 sprintf(buff, "%lg",mHis->BinWidth());
93 } else if(opts[0] == "mean") {
94 sprintf(buff, "%lg",mHis->Mean());
95 } else if(opts[0] == "sigma") {
96 sprintf(buff, "%lg",mHis->Sigma());
97 } else if(opts[0] == "over") {
98 sprintf(buff, "%lg",mHis->NOver());
99 } else if(opts[0] == "under") {
100 sprintf(buff, "%lg",mHis->NUnder());
101 } else if(opts[0] == "nentries") {
102 sprintf(buff, "%llu",mHis->NEntries());
103 } else if(opts[0] == "ndata") {
104 sprintf(buff, "%lg",mHis->NData());
105 } else if(opts[0] == "xmin") {
106 sprintf(buff, "%lg",mHis->XMin());
107 } else if(opts[0] == "xmax") {
108 sprintf(buff, "%lg",mHis->XMax());
109 } else if(opts[0] == "vmin") {
110 sprintf(buff, "%lg",mHis->VMin());
111 } else if(opts[0] == "vmax") {
112 sprintf(buff, "%lg",mHis->VMax());
113 } else if(opts[0] == "imin") {
114 sprintf(buff, "%d",mHis->IMin());
115 } else if(opts[0] == "imax") {
116 sprintf(buff, "%d",mHis->IMax());
117 } else {
118 return blabla;
119 }
120 return string(buff);
121}
122
123/* --Methode-- */
[1315]124AnyDataObj* NOMAdapter_Histo::CloneDataObj(bool /*share*/)
[1165]125{
[1090]126mHis->UpdateHisto(); // pour le cas ou c'est un HProf
[463]127HProf * hp = dynamic_cast<HProf *>(mHis);
[2605]128HistoErr * herr = dynamic_cast<HistoErr *>(mHis);
129if(hp) return( new HProf(*hp) );
130else if(herr) return( new HistoErr(*herr) );
131else return( new Histo(*mHis) );
[463]132}
[295]133
134/* --Methode-- */
135void NOMAdapter_Histo::SavePPF(POutPersist& pos, string const & nom)
136{
137#ifdef SANS_EVOLPLANCK
138// PEIDA-EROS L'histo est lui-meme PPersist
139string tag = nom; // A cause de const
140mHis->Write(pos,0,tag);
141#else
[584]142ObjFileIO<Histo> fio(mHis);
143fio.Write(pos, nom);
[295]144#endif
145}
146
147/* --Methode-- */
[2975]148void NOMAdapter_Histo::Print(ostream& os, int lev)
[295]149{
[2975]150mHis->Show(os);
151if (lev > 0) mHis->Print(60);
[295]152}
153
154/* --Methode-- */
155PIDrawer* NOMAdapter_Histo::GetDrawer(string & dopt)
156{
[1971]157if (typeid(*mHis) == typeid(HProf)) dopt = "fcirclemarker5 " + dopt;
158else dopt = "thinline " + dopt;
[546]159PIHisto * pih = new PIHisto(mHis, false);
160return( pih );
[295]161}
162
163/* --Methode-- */
[344]164NTupleInterface* NOMAdapter_Histo::GetNTupleInterface(bool& adel)
[295]165{
[344]166adel = true;
[295]167return( new NTupInt_Histo(mHis) );
168}
169
[1207]170/* --Methode-- */
171GeneralFitData* NOMAdapter_Histo::GetGeneralFitData(bool& adel
172 ,GeneralFitData::FitErrType errtype,double errscale,double errmin
173 ,int i1,int i2,int j1,int j2)
174{
175adel = false;
176if(!mHis) return(NULL);
[295]177
[1207]178int nx = mHis->NBins();
179if(nx<=0) return(NULL);
180
181i1 = (i1<0||i1>=nx)? 0: i1;
182i2 = (i2<0||i2>=nx||i2<i1)? nx-1: i2;
183
184GeneralFitData* mGData = new GeneralFitData(1,i2-i1+1,0);
185adel = true;
186
187for(int i=i1;i<=i2;i++) {
188 double x = mHis->BinCenter(i);
189 double f = (*mHis)(i);
190 double e = (mHis->HasErrors())? mHis->Error(i) : 1.;
191 e = GeneralFitData::ComputeError(f,e,errtype,errscale,errmin);
192 mGData->AddData1(x,f,e);
193}
194
195return mGData;
196}
197
198AnyDataObj* NOMAdapter_Histo::FitResidusObj(GeneralFit& mfit)
199{
200Histo* h = NULL;
201#ifdef SANS_EVOLPLANCK
202h = mHis->FitResidus(mfit);
203#else
204h = new Histo(ObjectFitter::FitResidus(*mHis,mfit));
205#endif
206return h;
207}
208
209AnyDataObj* NOMAdapter_Histo::FitFunctionObj(GeneralFit& mfit)
210{
211Histo* h = NULL;
212#ifdef SANS_EVOLPLANCK
213h = mHis->FitFunction(mfit);
214#else
215h = new Histo(ObjectFitter::FitFunction(*mHis,mfit));
216#endif
217return h;
218}
219
[295]220// -------------------------------------------------------------
221
222/* --Methode-- */
223NTupInt_Histo::NTupInt_Histo(Histo* h)
224{
225mHis = h;
226}
227
228/* --Methode-- */
229NTupInt_Histo::~NTupInt_Histo()
230{
231}
232
233/* --Methode-- */
[2683]234sa_size_t NTupInt_Histo::NbLines() const
[295]235{
236return(mHis->NBins());
237}
238
239/* --Methode-- */
[2683]240sa_size_t NTupInt_Histo::NbColumns() const
[295]241{
242return(4);
243}
244
245/* --Methode-- */
[2683]246r_8* NTupInt_Histo::GetLineD(sa_size_t k) const
[295]247{
248int i;
249if ((k < 0) || (k >= mHis->NBins()))
250 for(i=0; i<4; i++) mRet[i] = 0.;
251else {
252 mRet[0] = k; mRet[1] = mHis->BinCenter(k);
253 mRet[2] = (*mHis)(k); mRet[3] = mHis->Error(k);
254 }
255return(mRet);
256}
257
258/* --Methode-- */
[326]259string NTupInt_Histo::VarList_C(const char* nx) const
[295]260{
261string nomx;
262if (nx) nomx = nx;
263else nomx = "_xh_";
264string vardec = "double i,x,val,err; \n";
265vardec += "i = " + nomx + "[0]; x = " + nomx + "[1]; \n";
266vardec += "val = " + nomx + "[2]; err = " + nomx + "[3]; \n";
267return(vardec);
268}
269
270//-------------------------------------------------------------------------
271// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet Histo2D
272//-------------------------------------------------------------------------
273
274
275/* --Methode-- */
276NOMAdapter_Histo2D::NOMAdapter_Histo2D(Histo2D* o)
277 : NObjMgrAdapter(o)
278{
279mHis = o;
280}
281
282/* --Methode-- */
283NOMAdapter_Histo2D::~NOMAdapter_Histo2D()
284{
285}
286
287/* --Methode-- */
288NObjMgrAdapter* NOMAdapter_Histo2D::Clone(AnyDataObj* o)
289{
290Histo2D* h = dynamic_cast<Histo2D *>(o);
291if (h) return ( new NOMAdapter_Histo2D(h) );
292return ( new NObjMgrAdapter(o) );
293}
294
[463]295/* --Methode-- */
[1165]296string NOMAdapter_Histo2D::GetDataObjType()
[463]297{
[1165]298return ("Histo2D ");
299}
300
301/* --Methode-- */
[1315]302AnyDataObj* NOMAdapter_Histo2D::CloneDataObj(bool /*share*/)
[1165]303{
[463]304return ( new Histo2D(*mHis) );
305}
[295]306
307/* --Methode-- */
308void NOMAdapter_Histo2D::SavePPF(POutPersist& pos, string const & nom)
309{
310#ifdef SANS_EVOLPLANCK
311// PEIDA-EROS L'histo est lui-meme PPersist
312string tag = nom; // A cause de const
313mHis->Write(pos,0,tag);
314#else
[584]315ObjFileIO<Histo2D> fio(mHis);
316fio.Write(pos, nom);
[295]317#endif
318}
319
320/* --Methode-- */
[2975]321void NOMAdapter_Histo2D::Print(ostream& os, int lev)
[295]322{
[2975]323mHis->Show(os);
324if (lev > 0) mHis->Print();
[295]325}
326
327/* --Methode-- */
328PIDrawer* NOMAdapter_Histo2D::GetDrawer(string & dopt)
329{
[1971]330dopt = "thinline " + dopt;
[295]331return( new PIHisto2D(mHis, false) );
332}
333
334/* --Methode-- */
335P2DArrayAdapter* NOMAdapter_Histo2D::Get2DArray(string & dopt)
336{
337return (new POH2DAdapter(mHis, false) );
338}
339
340/* --Methode-- */
[344]341NTupleInterface* NOMAdapter_Histo2D::GetNTupleInterface(bool& adel)
[295]342{
[344]343adel = true;
[295]344return( new NTupInt_Histo2D(mHis) );
345}
346
347
[1207]348/* --Methode-- */
349GeneralFitData* NOMAdapter_Histo2D::GetGeneralFitData(bool& adel
350 ,GeneralFitData::FitErrType errtype,double errscale,double errmin
351 ,int i1,int i2,int j1,int j2)
352{
353adel = false;
354if(!mHis) return(NULL);
[295]355
[1207]356int nx = mHis->NBinX();
357int ny = mHis->NBinY();
358if(nx<=0 || ny<=0) return(NULL);
359
360i1 = (i1<0||i1>=nx)? 0: i1;
361i2 = (i2<0||i2>=nx||i2<i1)? nx-1: i2;
362j1 = (j1<0||j1>=ny)? 0: j1;
363j2 = (j2<0||j2>=ny||j2<j1)? ny-1: j2;
364
365GeneralFitData* mGData = new GeneralFitData(2,(i2-i1+1)*(j2-j1+1),0);
366adel = true;
367
368for(int i=i1;i<=i2;i++) for(int j=j1;j<=j2;j++) {
369 double x,y; mHis->BinCenter(i,j,x,y);
370 double f = (*mHis)(i,j);
371 double e = (mHis->HasErrors())? mHis->Error(i,j) : 1.;
372 e = GeneralFitData::ComputeError(f,e,errtype,errscale,errmin);
373 mGData->AddData2(x,y,f,e);
374}
375
376return mGData;
377}
378
379AnyDataObj* NOMAdapter_Histo2D::FitResidusObj(GeneralFit& mfit)
380{
381Histo2D* h2 = NULL;
382#ifdef SANS_EVOLPLANCK
383h2 = mHis->FitFunction(mfit);
384#else
385h2 = new Histo2D(ObjectFitter::FitResidus(*mHis,mfit));
386#endif
387return h2;
388}
389
390AnyDataObj* NOMAdapter_Histo2D::FitFunctionObj(GeneralFit& mfit)
391{
392Histo2D* h2 = NULL;
393#ifdef SANS_EVOLPLANCK
394h2 = mHis->FitFunction(mfit);
395#else
396h2 = new Histo2D(ObjectFitter::FitFunction(*mHis,mfit));
397#endif
398return h2;
399}
400
401
[3008]402/* --Methode-- */
403string NOMAdapter_Histo2D::GetInfoString(vector<string>& opts)
404{
405 string blabla = "Histo2D: nbin binw nband nslice nentries ndata xmin xmax";
406 blabla += " ymin ymax vmin vmax ijmin ijmax";
407
408 if(opts.size() == 0) return blabla;
409
410 char buff[128];
411 if(opts[0] == "nbin") {
412 sprintf(buff, "%d %d",mHis->NBinX(),mHis->NBinY());
413 } else if(opts[0] == "binw") {
414 sprintf(buff, "%lg %lg",mHis->WBinX(),mHis->WBinY());
415 } else if(opts[0] == "nband") {
416 sprintf(buff, "%d %d",mHis->NBandX(),mHis->NBandY());
417 } else if(opts[0] == "nslice") {
418 sprintf(buff, "%d %d",mHis->NSliX(),mHis->NSliY());
419 } else if(opts[0] == "nentries") {
420 sprintf(buff, "%d",mHis->NEntries());
421 } else if(opts[0] == "ndata") {
422 sprintf(buff, "%lg",mHis->NData());
423 } else if(opts[0] == "xmin") {
424 sprintf(buff, "%lg",mHis->XMin());
425 } else if(opts[0] == "xmax") {
426 sprintf(buff, "%lg",mHis->XMax());
427 } else if(opts[0] == "ymin") {
428 sprintf(buff, "%lg",mHis->YMin());
429 } else if(opts[0] == "ymax") {
430 sprintf(buff, "%lg",mHis->YMax());
431 } else if(opts[0] == "vmin") {
432 sprintf(buff, "%lg",mHis->VMin());
433 } else if(opts[0] == "vmax") {
434 sprintf(buff, "%lg",mHis->VMax());
435 } else if(opts[0] == "ijmin") {
436 int_4 i,j;
437 mHis->IJMin(i,j);
438 sprintf(buff, "%d %d",i,j);
439 } else if(opts[0] == "ijmax") {
440 int_4 i,j;
441 mHis->IJMax(i,j);
442 sprintf(buff, "%d %d",i,j);
443 } else {
444 return blabla;
445 }
446 return string(buff);
447}
448
[295]449// -------------------------------------------------------------
450
451/* --Methode-- */
452NTupInt_Histo2D::NTupInt_Histo2D(Histo2D* h)
453{
454mHis = h;
455}
456
457/* --Methode-- */
458NTupInt_Histo2D::~NTupInt_Histo2D()
459{
460}
461
462/* --Methode-- */
[2683]463sa_size_t NTupInt_Histo2D::NbLines() const
[295]464{
465return(mHis->NBinX()*mHis->NBinY());
466}
467
468/* --Methode-- */
[2683]469sa_size_t NTupInt_Histo2D::NbColumns() const
[295]470{
471return(6);
472}
473
474/* --Methode-- */
[2683]475r_8* NTupInt_Histo2D::GetLineD(sa_size_t n) const
[295]476{
477int i,j;
[1091]478r_8 f2,f3;
[295]479if ((n < 0) || (n >= mHis->NBinX()*mHis->NBinY()))
480 for(i=0; i<6; i++) mRet[i] = 0.;
481else {
482 i = n%mHis->NBinX(); j = n/mHis->NBinX();
483 mRet[0] = i; mRet[1] = j;
484 mHis->BinCenter(i,j,f2,f3);
485 mRet[2] = f2; mRet[3] = f3;
486 mRet[4] = (*mHis)(i,j); mRet[5] = mHis->Error(i, j);
487 }
488return(mRet);
489}
490
491/* --Methode-- */
[326]492string NTupInt_Histo2D::VarList_C(const char* nx) const
[295]493{
494string nomx;
495if (nx) nomx = nx;
496else nomx = "_xh_";
497string vardec = "double i,j,x,y,val,err; \n";
498vardec += "i = " + nomx + "[0]; j = " + nomx + "[1]; \n";
499vardec += "x = " + nomx + "[2]; y = " + nomx + "[3]; \n";
500vardec += "val = " + nomx + "[4]; err = " + nomx + "[5]; \n";
501return(vardec);
502}
503
504
505
506//-------------------------------------------------------------------------
507// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet NTuple
508//-------------------------------------------------------------------------
509
510/* --Methode-- */
511NOMAdapter_NTuple::NOMAdapter_NTuple(NTuple* o)
512 : NObjMgrAdapter(o)
513{
514mNt = o;
515}
516
517/* --Methode-- */
518NOMAdapter_NTuple::~NOMAdapter_NTuple()
519{
520}
521
522/* --Methode-- */
523NObjMgrAdapter* NOMAdapter_NTuple::Clone(AnyDataObj* o)
524{
525NTuple* nt = dynamic_cast<NTuple *>(o);
526if (nt) return ( new NOMAdapter_NTuple(nt) );
527return ( new NObjMgrAdapter(o) );
528}
529
[1165]530
[463]531/* --Methode-- */
[1165]532string NOMAdapter_NTuple::GetDataObjType()
[463]533{
[1165]534return ("NTuple ");
535}
536
537/* --Methode-- */
[1315]538AnyDataObj* NOMAdapter_NTuple::CloneDataObj(bool /*share*/)
[1165]539{
[463]540return ( new NTuple(*mNt) );
541}
[295]542
[1321]543
544
545/* --Methode-- */
[295]546void NOMAdapter_NTuple::SavePPF(POutPersist& pos, string const & nom)
547{
548#ifdef SANS_EVOLPLANCK
549// PEIDA-EROS L'histo est lui-meme PPersist
550string tag = nom; // A cause de const
551mNt->Write(pos,0,tag);
552#else
[584]553ObjFileIO<NTuple> fio(mNt);
554fio.Write(pos, nom);
[295]555#endif
556}
557
558/* --Methode-- */
[2975]559void NOMAdapter_NTuple::Print(ostream& os, int lev)
[295]560{
[2975]561mNt->Show(os);
562if (lev > 0) os << mNt->Info();
[295]563}
564
565
566/* --Methode-- */
[344]567NTupleInterface* NOMAdapter_NTuple::GetNTupleInterface(bool& adel)
[295]568{
[344]569adel = false;
570return(mNt);
571// return( new NTupInt_NTuple(mNt) );
[295]572}
573
[361]574//-------------------------------------------------------------------------
575// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet XNTuple
576//-------------------------------------------------------------------------
[295]577
[361]578/* --Methode-- */
579NOMAdapter_XNTuple::NOMAdapter_XNTuple(XNTuple* o)
580 : NObjMgrAdapter(o)
581{
582mNt = o;
583}
584
585/* --Methode-- */
586NOMAdapter_XNTuple::~NOMAdapter_XNTuple()
587{
588}
589
590/* --Methode-- */
591NObjMgrAdapter* NOMAdapter_XNTuple::Clone(AnyDataObj* o)
592{
593XNTuple* nt = dynamic_cast<XNTuple *>(o);
594if (nt) return ( new NOMAdapter_XNTuple(nt) );
595return ( new NObjMgrAdapter(o) );
596}
597
[1165]598/* --Methode-- */
599string NOMAdapter_XNTuple::GetDataObjType()
600{
601return ("XNTuple ");
602}
[361]603
604/* --Methode-- */
[1315]605AnyDataObj* NOMAdapter_XNTuple::CloneDataObj(bool /*share*/)
[1165]606{
607return ( new XNTuple(*mNt) );
608}
609
610/* --Methode-- */
[361]611void NOMAdapter_XNTuple::SavePPF(POutPersist& pos, string const & nom)
612{
613#ifdef SANS_EVOLPLANCK
614// PEIDA-EROS L'histo est lui-meme PPersist
615string tag = nom; // A cause de const
616mNt->Write(pos,0,tag);
617#else
[719]618ObjFileIO<XNTuple> fio(mNt);
619fio.Write(pos, nom);
[361]620#endif
621}
622
623/* --Methode-- */
[2975]624void NOMAdapter_XNTuple::Print(ostream& os, int lev)
[361]625{
626// os << mNt->Info();
627mNt->Show(os);
628}
629
630
631/* --Methode-- */
632NTupleInterface* NOMAdapter_XNTuple::GetNTupleInterface(bool& adel)
633{
634adel = false;
635return(mNt);
636}
[2697]637
638
639//-------------------------------------------------------------------------
640// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet BaseDataTable
641//-------------------------------------------------------------------------
642
643/* --Methode-- */
644NOMAdapter_DataTable::NOMAdapter_DataTable(BaseDataTable* o)
645 : NObjMgrAdapter(o)
646{
647mDT = o;
648}
649
650/* --Methode-- */
651NOMAdapter_DataTable::~NOMAdapter_DataTable()
652{
653}
654
655/* --Methode-- */
656NObjMgrAdapter* NOMAdapter_DataTable::Clone(AnyDataObj* o)
657{
658 BaseDataTable* dt = dynamic_cast<BaseDataTable *>(o);
659 if (dt) return ( new NOMAdapter_DataTable(dt) );
660 else return ( new NObjMgrAdapter(o) );
661}
662
663/* --Methode-- */
664string NOMAdapter_DataTable::GetDataObjType()
665{
666 DataTable* dt = dynamic_cast<DataTable *>(mDT);
667 if (dt) return ("DataTable ");
[2701]668 else {
669 SwPPFDataTable* swdt = dynamic_cast<SwPPFDataTable *>(mDT);
670 if (swdt) return ("SwPPFDataTable ");
671 return ("BaseDataTable ");
672 }
[2697]673}
674
675/* --Methode-- */
676AnyDataObj* NOMAdapter_DataTable::CloneDataObj(bool share)
677{
678 DataTable* dt = dynamic_cast<DataTable *>(mDT);
679 if (dt) return new DataTable(*dt, share);
[2701]680 else {
681 SwPPFDataTable* swdt = dynamic_cast<SwPPFDataTable *>(mDT);
682 if (swdt) cout << "NOMAdapter_DataTable::CloneDataObj() Object type SwPPFDataTable can not be cloned !" << endl;
683 return NULL;
684 }
[2697]685}
686
687
688/* --Methode-- */
689void NOMAdapter_DataTable::SavePPF(POutPersist& pos, string const & nom)
690{
691 DataTable* dt = dynamic_cast<DataTable *>(mDT);
[2701]692 SwPPFDataTable* swdt = dynamic_cast<SwPPFDataTable *>(mDT);
693 if (dt) {
694 ObjFileIO<BaseDataTable> fio(dt);
[2697]695 fio.Write(pos, nom);
696 }
[2701]697 else if (swdt) {
698 ObjFileIO<BaseDataTable> fio(swdt);
699 fio.Write(pos, nom);
700 }
[2697]701 else {
[2701]702 cerr << " NOMAdapter_DataTable::SavePPF() Objet pas de type DataTable/SwPPFDataTable (nom="
[2697]703 << nom << ")" << endl;
704 }
705}
706
707/* --Methode-- */
[2975]708void NOMAdapter_DataTable::Print(ostream& os, int lev)
[2697]709{
710mDT->Show(os);
[2975]711if (lev < 1) return;
712if (lev < 5) mDT->Print(os, 0, lev*10);
713else mDT->Print(os);
[2697]714}
715
716
717/* --Methode-- */
718NTupleInterface* NOMAdapter_DataTable::GetNTupleInterface(bool& adel)
719{
720adel = false;
721return(mDT);
722}
Note: See TracBrowser for help on using the repository browser.