source: Sophya/trunk/SophyaPI/PIext/nomhistadapter.h@ 2834

Last change on this file since 2834 was 2697, checked in by ansari, 20 years ago

Ajout adapteur pour DataTable - Reza 26/4/2005

File size: 6.1 KB
Line 
1// This may look like C code, but it is really -*- C++ -*-
2// Adaptateur d objets (pour NamedObjMgr) pour Histos/NTuple
3// Reza 05/99
4// LAL-IN2P3/CNRS CEA-DAPNIA
5
6#ifndef NOMHISTADAPTER_H_SEEN
7#define NOMHISTADAPTER_H_SEEN
8
9#include "nomgadapter.h"
10#include "histos.h"
11#include "histos2.h"
12#include "hisprof.h"
13#include "histerr.h"
14#include "ntuple.h"
15#include "xntuple.h"
16#include "basedtable.h"
17
18//-----------------------------------------------------------------------------
19// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet Histo / HProf / HistoErr
20//-----------------------------------------------------------------------------
21
22class NOMAdapter_Histo : public NObjMgrAdapter {
23public:
24 NOMAdapter_Histo(Histo* h = NULL);
25 virtual ~NOMAdapter_Histo();
26
27 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
28
29 virtual string GetDataObjType();
30
31 virtual AnyDataObj* CloneDataObj(bool share=false);
32
33 // virtual void ReadFits(string const & flnm);
34 // virtual void SaveFits(string const & flnm);
35 virtual void SavePPF(POutPersist& s, string const & nom);
36
37// Returns a string with synthetic information about the object
38 virtual string GetInfoString(int lev=0);
39
40 virtual void Print(ostream& os);
41 virtual PIDrawer* GetDrawer(string& dopt);
42 virtual NTupleInterface* GetNTupleInterface(bool& adel);
43
44 virtual GeneralFitData* GetGeneralFitData(bool& adel
45 ,GeneralFitData::FitErrType errtype=GeneralFitData::DefaultError
46 ,double errscale=1.,double errmin=0.
47 ,int i1=0,int i2=-1,int j1=0,int j2=-1);
48 virtual AnyDataObj* FitResidusObj(GeneralFit& mfit);
49 virtual AnyDataObj* FitFunctionObj(GeneralFit& mfit);
50
51protected:
52 Histo* mHis;
53};
54
55// Class Interface NTuple pour Histo / HProf / HistoErr
56class NTupInt_Histo : public NTupleInterface {
57public:
58 NTupInt_Histo(Histo* h);
59 virtual ~NTupInt_Histo();
60 virtual sa_size_t NbLines() const ;
61 virtual sa_size_t NbColumns() const ;
62 virtual r_8 * GetLineD(sa_size_t n) const ;
63 virtual string VarList_C(const char* nomx=NULL) const ;
64protected:
65 Histo* mHis;
66 mutable r_8 mRet[4];
67};
68
69//-------------------------------------------------------------------------
70// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet Histo2D
71//-------------------------------------------------------------------------
72
73class NOMAdapter_Histo2D : public NObjMgrAdapter {
74public:
75 NOMAdapter_Histo2D(Histo2D* h = NULL);
76 virtual ~NOMAdapter_Histo2D();
77
78 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
79
80 virtual string GetDataObjType();
81
82 virtual AnyDataObj* CloneDataObj(bool share=false);
83
84 // virtual void ReadFits(string const & flnm);
85 // virtual void SaveFits(string const & flnm);
86 virtual void SavePPF(POutPersist& s, string const & nom);
87
88 virtual void Print(ostream& os);
89 virtual PIDrawer* GetDrawer(string& dopt);
90 virtual P2DArrayAdapter* Get2DArray(string& dopt);
91 virtual NTupleInterface* GetNTupleInterface(bool& adel);
92
93 virtual GeneralFitData* GetGeneralFitData(bool& adel
94 ,GeneralFitData::FitErrType errtype=GeneralFitData::DefaultError
95 ,double errscale=1.,double errmin=0.
96 ,int i1=0,int i2=-1,int j1=0,int j2=-1);
97 virtual AnyDataObj* FitResidusObj(GeneralFit& mfit);
98 virtual AnyDataObj* FitFunctionObj(GeneralFit& mfit);
99
100protected:
101 Histo2D* mHis;
102};
103
104// Class Interface NTuple pour Histo2D
105class NTupInt_Histo2D : public NTupleInterface {
106public:
107 NTupInt_Histo2D(Histo2D* h);
108 virtual ~NTupInt_Histo2D();
109 virtual sa_size_t NbLines() const ;
110 virtual sa_size_t NbColumns() const ;
111 virtual r_8 * GetLineD(sa_size_t n) const ;
112 virtual string VarList_C(const char* nomx=NULL) const ;
113protected:
114 Histo2D* mHis;
115 mutable r_8 mRet[6];
116};
117
118
119//-------------------------------------------------------------------------
120// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet NTuple
121//-------------------------------------------------------------------------
122
123class NOMAdapter_NTuple : public NObjMgrAdapter {
124public:
125 NOMAdapter_NTuple(NTuple* nt = NULL);
126 virtual ~NOMAdapter_NTuple();
127
128 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
129
130 virtual string GetDataObjType();
131
132 virtual AnyDataObj* CloneDataObj(bool share=false);
133
134 virtual void ReadFits(string const & flnm);
135 virtual void SaveFits(string const & flnm);
136 virtual void SavePPF(POutPersist& s, string const & nom);
137
138 virtual void Print(ostream& os);
139 virtual NTupleInterface* GetNTupleInterface(bool& adel);
140
141protected:
142 NTuple* mNt;
143};
144
145//-------------------------------------------------------------------------
146// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet XNTuple
147//-------------------------------------------------------------------------
148
149class NOMAdapter_XNTuple : public NObjMgrAdapter {
150public:
151 NOMAdapter_XNTuple(XNTuple* nt = NULL);
152 virtual ~NOMAdapter_XNTuple();
153
154 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
155
156 virtual string GetDataObjType();
157
158 virtual AnyDataObj* CloneDataObj(bool share=false);
159
160 virtual void ReadFits(string const & flnm);
161 virtual void SaveFits(string const & flnm);
162 virtual void SavePPF(POutPersist& s, string const & nom);
163
164 virtual void Print(ostream& os);
165 virtual NTupleInterface* GetNTupleInterface(bool& adel);
166
167protected:
168 XNTuple* mNt;
169};
170
171//-------------------------------------------------------------------------
172// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet BaseDataTable
173//-------------------------------------------------------------------------
174
175class NOMAdapter_DataTable : public NObjMgrAdapter {
176public:
177 NOMAdapter_DataTable(BaseDataTable* dt = NULL);
178 virtual ~NOMAdapter_DataTable();
179
180 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
181
182 virtual string GetDataObjType();
183
184 virtual AnyDataObj* CloneDataObj(bool share=false);
185
186 virtual void ReadFits(string const & flnm);
187 virtual void SaveFits(string const & flnm);
188 virtual void SavePPF(POutPersist& s, string const & nom);
189
190 virtual void Print(ostream& os);
191 virtual NTupleInterface* GetNTupleInterface(bool& adel);
192
193protected:
194 BaseDataTable* mDT;
195};
196
197
198
199#endif
Note: See TracBrowser for help on using the repository browser.