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

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

Ajout flag int lev ds les adaptateurs NObjMgrAdapter::Print(ostream& os, int lev=0) et NamedObjMgr::Print() + modif commande print - Reza 20 Juin 2006

File size: 5.7 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 SavePPF(POutPersist& s, string const & nom);
34
35// Returns a string with synthetic information about the object
36 virtual string GetInfoString(int lev=0);
37
38 virtual void Print(ostream& os, int lev=0);
39 virtual PIDrawer* GetDrawer(string& dopt);
40 virtual NTupleInterface* GetNTupleInterface(bool& adel);
41
42 virtual GeneralFitData* GetGeneralFitData(bool& adel
43 ,GeneralFitData::FitErrType errtype=GeneralFitData::DefaultError
44 ,double errscale=1.,double errmin=0.
45 ,int i1=0,int i2=-1,int j1=0,int j2=-1);
46 virtual AnyDataObj* FitResidusObj(GeneralFit& mfit);
47 virtual AnyDataObj* FitFunctionObj(GeneralFit& mfit);
48
49protected:
50 Histo* mHis;
51};
52
53// Class Interface NTuple pour Histo / HProf / HistoErr
54class NTupInt_Histo : public NTupleInterface {
55public:
56 NTupInt_Histo(Histo* h);
57 virtual ~NTupInt_Histo();
58 virtual sa_size_t NbLines() const ;
59 virtual sa_size_t NbColumns() const ;
60 virtual r_8 * GetLineD(sa_size_t n) const ;
61 virtual string VarList_C(const char* nomx=NULL) const ;
62protected:
63 Histo* mHis;
64 mutable r_8 mRet[4];
65};
66
67//-------------------------------------------------------------------------
68// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet Histo2D
69//-------------------------------------------------------------------------
70
71class NOMAdapter_Histo2D : public NObjMgrAdapter {
72public:
73 NOMAdapter_Histo2D(Histo2D* h = NULL);
74 virtual ~NOMAdapter_Histo2D();
75
76 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
77
78 virtual string GetDataObjType();
79
80 virtual AnyDataObj* CloneDataObj(bool share=false);
81
82 virtual void SavePPF(POutPersist& s, string const & nom);
83
84 virtual void Print(ostream& os, int lev=0);
85 virtual PIDrawer* GetDrawer(string& dopt);
86 virtual P2DArrayAdapter* Get2DArray(string& dopt);
87 virtual NTupleInterface* GetNTupleInterface(bool& adel);
88
89 virtual GeneralFitData* GetGeneralFitData(bool& adel
90 ,GeneralFitData::FitErrType errtype=GeneralFitData::DefaultError
91 ,double errscale=1.,double errmin=0.
92 ,int i1=0,int i2=-1,int j1=0,int j2=-1);
93 virtual AnyDataObj* FitResidusObj(GeneralFit& mfit);
94 virtual AnyDataObj* FitFunctionObj(GeneralFit& mfit);
95
96protected:
97 Histo2D* mHis;
98};
99
100// Class Interface NTuple pour Histo2D
101class NTupInt_Histo2D : public NTupleInterface {
102public:
103 NTupInt_Histo2D(Histo2D* h);
104 virtual ~NTupInt_Histo2D();
105 virtual sa_size_t NbLines() const ;
106 virtual sa_size_t NbColumns() const ;
107 virtual r_8 * GetLineD(sa_size_t n) const ;
108 virtual string VarList_C(const char* nomx=NULL) const ;
109protected:
110 Histo2D* mHis;
111 mutable r_8 mRet[6];
112};
113
114
115//-------------------------------------------------------------------------
116// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet NTuple
117//-------------------------------------------------------------------------
118
119class NOMAdapter_NTuple : public NObjMgrAdapter {
120public:
121 NOMAdapter_NTuple(NTuple* nt = NULL);
122 virtual ~NOMAdapter_NTuple();
123
124 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
125
126 virtual string GetDataObjType();
127
128 virtual AnyDataObj* CloneDataObj(bool share=false);
129
130 virtual void SavePPF(POutPersist& s, string const & nom);
131
132 virtual void Print(ostream& os, int lev=0);
133 virtual NTupleInterface* GetNTupleInterface(bool& adel);
134
135protected:
136 NTuple* mNt;
137};
138
139//-------------------------------------------------------------------------
140// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet XNTuple
141//-------------------------------------------------------------------------
142
143class NOMAdapter_XNTuple : public NObjMgrAdapter {
144public:
145 NOMAdapter_XNTuple(XNTuple* nt = NULL);
146 virtual ~NOMAdapter_XNTuple();
147
148 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
149
150 virtual string GetDataObjType();
151
152 virtual AnyDataObj* CloneDataObj(bool share=false);
153
154 virtual void SavePPF(POutPersist& s, string const & nom);
155
156 virtual void Print(ostream& os, int lev=0);
157 virtual NTupleInterface* GetNTupleInterface(bool& adel);
158
159protected:
160 XNTuple* mNt;
161};
162
163//-------------------------------------------------------------------------
164// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet BaseDataTable
165//-------------------------------------------------------------------------
166
167class NOMAdapter_DataTable : public NObjMgrAdapter {
168public:
169 NOMAdapter_DataTable(BaseDataTable* dt = NULL);
170 virtual ~NOMAdapter_DataTable();
171
172 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
173
174 virtual string GetDataObjType();
175
176 virtual AnyDataObj* CloneDataObj(bool share=false);
177
178 virtual void SavePPF(POutPersist& s, string const & nom);
179
180 virtual void Print(ostream& os, int lev=0);
181 virtual NTupleInterface* GetNTupleInterface(bool& adel);
182
183protected:
184 BaseDataTable* mDT;
185};
186
187
188
189#endif
Note: See TracBrowser for help on using the repository browser.