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

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

Extension de l'interface NObjMgrAdapter et ajout de DVList pour les variables globales ds NamedObjMgr - Reza 30/8/2000

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