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

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

modif HistoErr Histo2DErr cmv 10/01/07

File size: 5.9 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//-----------------------------------------------------------------------------
[3123]19// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet Histo / HProf
[2605]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
[3123]55// Class Interface NTuple pour Histo / HProf
[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 mutable r_8 mRet[5];
[295]68};
69
70//-------------------------------------------------------------------------
71// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet Histo2D
72//-------------------------------------------------------------------------
73
74class NOMAdapter_Histo2D : public NObjMgrAdapter {
75public:
76 NOMAdapter_Histo2D(Histo2D* h = NULL);
77 virtual ~NOMAdapter_Histo2D();
78
79 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
80
[1165]81 virtual string GetDataObjType();
82
[1315]83 virtual AnyDataObj* CloneDataObj(bool share=false);
[1165]84
[295]85 virtual void SavePPF(POutPersist& s, string const & nom);
86
[2975]87 virtual void Print(ostream& os, int lev=0);
[295]88 virtual PIDrawer* GetDrawer(string& dopt);
89 virtual P2DArrayAdapter* Get2DArray(string& dopt);
[344]90 virtual NTupleInterface* GetNTupleInterface(bool& adel);
[295]91
[1207]92 virtual GeneralFitData* GetGeneralFitData(bool& adel
93 ,GeneralFitData::FitErrType errtype=GeneralFitData::DefaultError
94 ,double errscale=1.,double errmin=0.
95 ,int i1=0,int i2=-1,int j1=0,int j2=-1);
96 virtual AnyDataObj* FitResidusObj(GeneralFit& mfit);
97 virtual AnyDataObj* FitFunctionObj(GeneralFit& mfit);
98
[3008]99 virtual string GetInfoString(vector<string>& opts);
100
[295]101protected:
102 Histo2D* mHis;
103};
104
105// Class Interface NTuple pour Histo2D
106class NTupInt_Histo2D : public NTupleInterface {
107public:
108 NTupInt_Histo2D(Histo2D* h);
109 virtual ~NTupInt_Histo2D();
[2683]110 virtual sa_size_t NbLines() const ;
111 virtual sa_size_t NbColumns() const ;
112 virtual r_8 * GetLineD(sa_size_t n) const ;
[326]113 virtual string VarList_C(const char* nomx=NULL) const ;
[295]114protected:
115 Histo2D* mHis;
[326]116 mutable r_8 mRet[6];
[295]117};
118
119
120//-------------------------------------------------------------------------
121// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet NTuple
122//-------------------------------------------------------------------------
123
124class NOMAdapter_NTuple : public NObjMgrAdapter {
125public:
[361]126 NOMAdapter_NTuple(NTuple* nt = NULL);
[295]127 virtual ~NOMAdapter_NTuple();
128
129 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
130
[1165]131 virtual string GetDataObjType();
132
[1315]133 virtual AnyDataObj* CloneDataObj(bool share=false);
[1165]134
[295]135 virtual void SavePPF(POutPersist& s, string const & nom);
136
[3033]137 virtual string GetInfoString(vector<string>& opts);
[2975]138 virtual void Print(ostream& os, int lev=0);
[344]139 virtual NTupleInterface* GetNTupleInterface(bool& adel);
[295]140
141protected:
142 NTuple* mNt;
143};
144
[361]145//-------------------------------------------------------------------------
146// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet XNTuple
147//-------------------------------------------------------------------------
[295]148
[361]149class NOMAdapter_XNTuple : public NObjMgrAdapter {
150public:
151 NOMAdapter_XNTuple(XNTuple* nt = NULL);
152 virtual ~NOMAdapter_XNTuple();
[295]153
[361]154 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
155
[1165]156 virtual string GetDataObjType();
157
[1315]158 virtual AnyDataObj* CloneDataObj(bool share=false);
[1165]159
[361]160 virtual void SavePPF(POutPersist& s, string const & nom);
161
[2975]162 virtual void Print(ostream& os, int lev=0);
[361]163 virtual NTupleInterface* GetNTupleInterface(bool& adel);
164
165protected:
166 XNTuple* mNt;
167};
168
[2697]169//-------------------------------------------------------------------------
170// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet BaseDataTable
171//-------------------------------------------------------------------------
[361]172
[2697]173class NOMAdapter_DataTable : public NObjMgrAdapter {
174public:
175 NOMAdapter_DataTable(BaseDataTable* dt = NULL);
176 virtual ~NOMAdapter_DataTable();
[361]177
[2697]178 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
179
180 virtual string GetDataObjType();
181
182 virtual AnyDataObj* CloneDataObj(bool share=false);
183
184 virtual void SavePPF(POutPersist& s, string const & nom);
185
[3033]186 virtual string GetInfoString(vector<string>& opts);
[2975]187 virtual void Print(ostream& os, int lev=0);
[2697]188 virtual NTupleInterface* GetNTupleInterface(bool& adel);
189
190protected:
191 BaseDataTable* mDT;
192};
193
194
195
[295]196#endif
Note: See TracBrowser for help on using the repository browser.