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

Last change on this file since 1321 was 1321, checked in by ercodmgr, 25 years ago

Adaptateur de TArray et lecture FITS - Reza 13/11/2000

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