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

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

modifs mineures et intro POHe2DAdapter cmv 17/01/2007

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"
13#include "ntuple.h"
[361]14#include "xntuple.h"
[2697]15#include "basedtable.h"
[295]16
[2605]17//-----------------------------------------------------------------------------
[3123]18// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet Histo / HProf
[2605]19//-----------------------------------------------------------------------------
[295]20
21class NOMAdapter_Histo : public NObjMgrAdapter {
22public:
23 NOMAdapter_Histo(Histo* h = NULL);
24 virtual ~NOMAdapter_Histo();
25
26 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
27
[1165]28 virtual string GetDataObjType();
29
[1315]30 virtual AnyDataObj* CloneDataObj(bool share=false);
[1165]31
[295]32 virtual void SavePPF(POutPersist& s, string const & nom);
33
[2383]34// Returns a string with synthetic information about the object
35 virtual string GetInfoString(int lev=0);
36
[3008]37 virtual string GetInfoString(vector<string>& opts);
38
[2975]39 virtual void Print(ostream& os, int lev=0);
[295]40 virtual PIDrawer* GetDrawer(string& dopt);
[344]41 virtual NTupleInterface* GetNTupleInterface(bool& adel);
[295]42
[1207]43 virtual GeneralFitData* GetGeneralFitData(bool& adel
44 ,GeneralFitData::FitErrType errtype=GeneralFitData::DefaultError
45 ,double errscale=1.,double errmin=0.
46 ,int i1=0,int i2=-1,int j1=0,int j2=-1);
47 virtual AnyDataObj* FitResidusObj(GeneralFit& mfit);
48 virtual AnyDataObj* FitFunctionObj(GeneralFit& mfit);
49
[295]50protected:
51 Histo* mHis;
52};
53
[3123]54// Class Interface NTuple pour Histo / HProf
[295]55class NTupInt_Histo : public NTupleInterface {
56public:
57 NTupInt_Histo(Histo* h);
58 virtual ~NTupInt_Histo();
[2683]59 virtual sa_size_t NbLines() const ;
60 virtual sa_size_t NbColumns() const ;
61 virtual r_8 * GetLineD(sa_size_t n) const ;
[326]62 virtual string VarList_C(const char* nomx=NULL) const ;
[295]63protected:
64 Histo* mHis;
[3052]65 HProf* mHpr;
66 mutable r_8 mRet[5];
[295]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
[1165]80 virtual string GetDataObjType();
81
[1315]82 virtual AnyDataObj* CloneDataObj(bool share=false);
[1165]83
[295]84 virtual void SavePPF(POutPersist& s, string const & nom);
85
[2975]86 virtual void Print(ostream& os, int lev=0);
[295]87 virtual PIDrawer* GetDrawer(string& dopt);
88 virtual P2DArrayAdapter* Get2DArray(string& dopt);
[344]89 virtual NTupleInterface* GetNTupleInterface(bool& adel);
[295]90
[1207]91 virtual GeneralFitData* GetGeneralFitData(bool& adel
92 ,GeneralFitData::FitErrType errtype=GeneralFitData::DefaultError
93 ,double errscale=1.,double errmin=0.
94 ,int i1=0,int i2=-1,int j1=0,int j2=-1);
95 virtual AnyDataObj* FitResidusObj(GeneralFit& mfit);
96 virtual AnyDataObj* FitFunctionObj(GeneralFit& mfit);
97
[3008]98 virtual string GetInfoString(vector<string>& opts);
99
[295]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();
[2683]109 virtual sa_size_t NbLines() const ;
110 virtual sa_size_t NbColumns() const ;
111 virtual r_8 * GetLineD(sa_size_t n) const ;
[326]112 virtual string VarList_C(const char* nomx=NULL) const ;
[295]113protected:
114 Histo2D* mHis;
[326]115 mutable r_8 mRet[6];
[295]116};
117
118
119//-------------------------------------------------------------------------
120// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet NTuple
121//-------------------------------------------------------------------------
122
123class NOMAdapter_NTuple : public NObjMgrAdapter {
124public:
[361]125 NOMAdapter_NTuple(NTuple* nt = NULL);
[295]126 virtual ~NOMAdapter_NTuple();
127
128 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
129
[1165]130 virtual string GetDataObjType();
131
[1315]132 virtual AnyDataObj* CloneDataObj(bool share=false);
[1165]133
[295]134 virtual void SavePPF(POutPersist& s, string const & nom);
135
[3033]136 virtual string GetInfoString(vector<string>& opts);
[2975]137 virtual void Print(ostream& os, int lev=0);
[344]138 virtual NTupleInterface* GetNTupleInterface(bool& adel);
[295]139
140protected:
141 NTuple* mNt;
142};
143
[361]144//-------------------------------------------------------------------------
145// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet XNTuple
146//-------------------------------------------------------------------------
[295]147
[361]148class NOMAdapter_XNTuple : public NObjMgrAdapter {
149public:
150 NOMAdapter_XNTuple(XNTuple* nt = NULL);
151 virtual ~NOMAdapter_XNTuple();
[295]152
[361]153 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
154
[1165]155 virtual string GetDataObjType();
156
[1315]157 virtual AnyDataObj* CloneDataObj(bool share=false);
[1165]158
[361]159 virtual void SavePPF(POutPersist& s, string const & nom);
160
[2975]161 virtual void Print(ostream& os, int lev=0);
[361]162 virtual NTupleInterface* GetNTupleInterface(bool& adel);
163
164protected:
165 XNTuple* mNt;
166};
167
[2697]168//-------------------------------------------------------------------------
169// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet BaseDataTable
170//-------------------------------------------------------------------------
[361]171
[2697]172class NOMAdapter_DataTable : public NObjMgrAdapter {
173public:
174 NOMAdapter_DataTable(BaseDataTable* dt = NULL);
175 virtual ~NOMAdapter_DataTable();
[361]176
[2697]177 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
178
179 virtual string GetDataObjType();
180
181 virtual AnyDataObj* CloneDataObj(bool share=false);
182
183 virtual void SavePPF(POutPersist& s, string const & nom);
184
[3033]185 virtual string GetInfoString(vector<string>& opts);
[2975]186 virtual void Print(ostream& os, int lev=0);
[2697]187 virtual NTupleInterface* GetNTupleInterface(bool& adel);
188
189protected:
190 BaseDataTable* mDT;
191};
192
193
194
[295]195#endif
Note: See TracBrowser for help on using the repository browser.