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
RevLine 
[295]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"
[495]14
[361]15#include "xntuple.h"
[295]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);
[463]27 virtual AnyDataObj* GetCopyObj();
[295]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);
[344]35 virtual NTupleInterface* GetNTupleInterface(bool& adel);
[295]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();
[326]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 ;
[295]50protected:
51 Histo* mHis;
[326]52 mutable r_8 mRet[4];
[295]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);
[463]65 virtual AnyDataObj* GetCopyObj();
[295]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);
[344]74 virtual NTupleInterface* GetNTupleInterface(bool& adel);
[295]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();
[326]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 ;
[295]89protected:
90 Histo2D* mHis;
[326]91 mutable r_8 mRet[6];
[295]92};
93
94
95//-------------------------------------------------------------------------
96// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet NTuple
97//-------------------------------------------------------------------------
98
99class NOMAdapter_NTuple : public NObjMgrAdapter {
100public:
[361]101 NOMAdapter_NTuple(NTuple* nt = NULL);
[295]102 virtual ~NOMAdapter_NTuple();
103
104 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
[463]105 virtual AnyDataObj* GetCopyObj();
[295]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);
[344]112 virtual NTupleInterface* GetNTupleInterface(bool& adel);
[295]113
114protected:
115 NTuple* mNt;
116};
117
[361]118//-------------------------------------------------------------------------
119// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet XNTuple
120//-------------------------------------------------------------------------
[295]121
[361]122class NOMAdapter_XNTuple : public NObjMgrAdapter {
123public:
124 NOMAdapter_XNTuple(XNTuple* nt = NULL);
125 virtual ~NOMAdapter_XNTuple();
[295]126
[361]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
[295]142#endif
Note: See TracBrowser for help on using the repository browser.