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

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

Introoduction adaptateur XNTuple pour SOPHYA, Reza 7 Fev 2000

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