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

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

Portage -> DPPlanck , Reza+cmv 21/10/99

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