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

Last change on this file since 2460 was 2383, checked in by ansari, 22 years ago

Ajout methode GetInfoString() aux ObjAdapter + attributs de gestion de position de stat pour PINtuple/PIHisto + positionnement par defaut de stat (statposoff=) lors de disp same - Reza 16/5/2003

File size: 5.2 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 "ntuple.h"
14#include "xntuple.h"
15
16//-------------------------------------------------------------------------
17// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet Histo / HProf
18//-------------------------------------------------------------------------
19
20class NOMAdapter_Histo : public NObjMgrAdapter {
21public:
22 NOMAdapter_Histo(Histo* h = NULL);
23 virtual ~NOMAdapter_Histo();
24
25 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
26
27 virtual string GetDataObjType();
28
29 virtual AnyDataObj* CloneDataObj(bool share=false);
30
31 // virtual void ReadFits(string const & flnm);
32 // virtual void SaveFits(string const & flnm);
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);
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
54class NTupInt_Histo : public NTupleInterface {
55public:
56 NTupInt_Histo(Histo* h);
57 virtual ~NTupInt_Histo();
58 virtual uint_4 NbLines() const ;
59 virtual uint_4 NbColumns() const ;
60 virtual r_8 * GetLineD(int 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 ReadFits(string const & flnm);
83 // virtual void SaveFits(string const & flnm);
84 virtual void SavePPF(POutPersist& s, string const & nom);
85
86 virtual void Print(ostream& os);
87 virtual PIDrawer* GetDrawer(string& dopt);
88 virtual P2DArrayAdapter* Get2DArray(string& dopt);
89 virtual NTupleInterface* GetNTupleInterface(bool& adel);
90
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
98protected:
99 Histo2D* mHis;
100};
101
102// Class Interface NTuple pour Histo2D
103class NTupInt_Histo2D : public NTupleInterface {
104public:
105 NTupInt_Histo2D(Histo2D* h);
106 virtual ~NTupInt_Histo2D();
107 virtual uint_4 NbLines() const ;
108 virtual uint_4 NbColumns() const ;
109 virtual r_8 * GetLineD(int n) const ;
110 virtual string VarList_C(const char* nomx=NULL) const ;
111protected:
112 Histo2D* mHis;
113 mutable r_8 mRet[6];
114};
115
116
117//-------------------------------------------------------------------------
118// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet NTuple
119//-------------------------------------------------------------------------
120
121class NOMAdapter_NTuple : public NObjMgrAdapter {
122public:
123 NOMAdapter_NTuple(NTuple* nt = NULL);
124 virtual ~NOMAdapter_NTuple();
125
126 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
127
128 virtual string GetDataObjType();
129
130 virtual AnyDataObj* CloneDataObj(bool share=false);
131
132 virtual void ReadFits(string const & flnm);
133 virtual void SaveFits(string const & flnm);
134 virtual void SavePPF(POutPersist& s, string const & nom);
135
136 virtual void Print(ostream& os);
137 virtual NTupleInterface* GetNTupleInterface(bool& adel);
138
139protected:
140 NTuple* mNt;
141};
142
143//-------------------------------------------------------------------------
144// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet XNTuple
145//-------------------------------------------------------------------------
146
147class NOMAdapter_XNTuple : public NObjMgrAdapter {
148public:
149 NOMAdapter_XNTuple(XNTuple* nt = NULL);
150 virtual ~NOMAdapter_XNTuple();
151
152 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
153
154 virtual string GetDataObjType();
155
156 virtual AnyDataObj* CloneDataObj(bool share=false);
157
158 virtual void ReadFits(string const & flnm);
159 virtual void SaveFits(string const & flnm);
160 virtual void SavePPF(POutPersist& s, string const & nom);
161
162 virtual void Print(ostream& os);
163 virtual NTupleInterface* GetNTupleInterface(bool& adel);
164
165protected:
166 XNTuple* mNt;
167};
168
169
170
171#endif
Note: See TracBrowser for help on using the repository browser.