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

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

nombre entrees ds bin HProf/HistoErr ds Ntuple Interface cmv 12/8/2006

File size: 6.0 KB
RevLine 
[295]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"
[2605]13#include "histerr.h"
[295]14#include "ntuple.h"
[361]15#include "xntuple.h"
[2697]16#include "basedtable.h"
[295]17
[2605]18//-----------------------------------------------------------------------------
19// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet Histo / HProf / HistoErr
20//-----------------------------------------------------------------------------
[295]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
[1165]29 virtual string GetDataObjType();
30
[1315]31 virtual AnyDataObj* CloneDataObj(bool share=false);
[1165]32
[295]33 virtual void SavePPF(POutPersist& s, string const & nom);
34
[2383]35// Returns a string with synthetic information about the object
36 virtual string GetInfoString(int lev=0);
37
[3008]38 virtual string GetInfoString(vector<string>& opts);
39
[2975]40 virtual void Print(ostream& os, int lev=0);
[295]41 virtual PIDrawer* GetDrawer(string& dopt);
[344]42 virtual NTupleInterface* GetNTupleInterface(bool& adel);
[295]43
[1207]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
[295]51protected:
52 Histo* mHis;
53};
54
[2605]55// Class Interface NTuple pour Histo / HProf / HistoErr
[295]56class NTupInt_Histo : public NTupleInterface {
57public:
58 NTupInt_Histo(Histo* h);
59 virtual ~NTupInt_Histo();
[2683]60 virtual sa_size_t NbLines() const ;
61 virtual sa_size_t NbColumns() const ;
62 virtual r_8 * GetLineD(sa_size_t n) const ;
[326]63 virtual string VarList_C(const char* nomx=NULL) const ;
[295]64protected:
65 Histo* mHis;
[3052]66 HProf* mHpr;
67 HistoErr* mHerr;
68 mutable r_8 mRet[5];
[295]69};
70
71//-------------------------------------------------------------------------
72// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet Histo2D
73//-------------------------------------------------------------------------
74
75class NOMAdapter_Histo2D : public NObjMgrAdapter {
76public:
77 NOMAdapter_Histo2D(Histo2D* h = NULL);
78 virtual ~NOMAdapter_Histo2D();
79
80 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
81
[1165]82 virtual string GetDataObjType();
83
[1315]84 virtual AnyDataObj* CloneDataObj(bool share=false);
[1165]85
[295]86 virtual void SavePPF(POutPersist& s, string const & nom);
87
[2975]88 virtual void Print(ostream& os, int lev=0);
[295]89 virtual PIDrawer* GetDrawer(string& dopt);
90 virtual P2DArrayAdapter* Get2DArray(string& dopt);
[344]91 virtual NTupleInterface* GetNTupleInterface(bool& adel);
[295]92
[1207]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
[3008]100 virtual string GetInfoString(vector<string>& opts);
101
[295]102protected:
103 Histo2D* mHis;
104};
105
106// Class Interface NTuple pour Histo2D
107class NTupInt_Histo2D : public NTupleInterface {
108public:
109 NTupInt_Histo2D(Histo2D* h);
110 virtual ~NTupInt_Histo2D();
[2683]111 virtual sa_size_t NbLines() const ;
112 virtual sa_size_t NbColumns() const ;
113 virtual r_8 * GetLineD(sa_size_t n) const ;
[326]114 virtual string VarList_C(const char* nomx=NULL) const ;
[295]115protected:
116 Histo2D* mHis;
[326]117 mutable r_8 mRet[6];
[295]118};
119
120
121//-------------------------------------------------------------------------
122// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet NTuple
123//-------------------------------------------------------------------------
124
125class NOMAdapter_NTuple : public NObjMgrAdapter {
126public:
[361]127 NOMAdapter_NTuple(NTuple* nt = NULL);
[295]128 virtual ~NOMAdapter_NTuple();
129
130 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
131
[1165]132 virtual string GetDataObjType();
133
[1315]134 virtual AnyDataObj* CloneDataObj(bool share=false);
[1165]135
[295]136 virtual void SavePPF(POutPersist& s, string const & nom);
137
[3033]138 virtual string GetInfoString(vector<string>& opts);
[2975]139 virtual void Print(ostream& os, int lev=0);
[344]140 virtual NTupleInterface* GetNTupleInterface(bool& adel);
[295]141
142protected:
143 NTuple* mNt;
144};
145
[361]146//-------------------------------------------------------------------------
147// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet XNTuple
148//-------------------------------------------------------------------------
[295]149
[361]150class NOMAdapter_XNTuple : public NObjMgrAdapter {
151public:
152 NOMAdapter_XNTuple(XNTuple* nt = NULL);
153 virtual ~NOMAdapter_XNTuple();
[295]154
[361]155 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
156
[1165]157 virtual string GetDataObjType();
158
[1315]159 virtual AnyDataObj* CloneDataObj(bool share=false);
[1165]160
[361]161 virtual void SavePPF(POutPersist& s, string const & nom);
162
[2975]163 virtual void Print(ostream& os, int lev=0);
[361]164 virtual NTupleInterface* GetNTupleInterface(bool& adel);
165
166protected:
167 XNTuple* mNt;
168};
169
[2697]170//-------------------------------------------------------------------------
171// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet BaseDataTable
172//-------------------------------------------------------------------------
[361]173
[2697]174class NOMAdapter_DataTable : public NObjMgrAdapter {
175public:
176 NOMAdapter_DataTable(BaseDataTable* dt = NULL);
177 virtual ~NOMAdapter_DataTable();
[361]178
[2697]179 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
180
181 virtual string GetDataObjType();
182
183 virtual AnyDataObj* CloneDataObj(bool share=false);
184
185 virtual void SavePPF(POutPersist& s, string const & nom);
186
[3033]187 virtual string GetInfoString(vector<string>& opts);
[2975]188 virtual void Print(ostream& os, int lev=0);
[2697]189 virtual NTupleInterface* GetNTupleInterface(bool& adel);
190
191protected:
192 BaseDataTable* mDT;
193};
194
195
196
[295]197#endif
Note: See TracBrowser for help on using the repository browser.