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

Last change on this file since 463 was 463, checked in by ercodmgr, 26 years ago

HelpToTex + CopyObj (ds Adapter) et PawExecutor cmv+Reza 12/10/99

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