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

Last change on this file since 2683 was 2683, checked in by ansari, 20 years ago

Adaptation au changement de int par sa_size_t ds la classe interface NTuple NTupInterface - Reza 21/4/2005

File size: 5.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"
[2605]13#include "histerr.h"
[295]14#include "ntuple.h"
[361]15#include "xntuple.h"
[295]16
[2605]17//-----------------------------------------------------------------------------
18// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet Histo / HProf / HistoErr
19//-----------------------------------------------------------------------------
[295]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
[1165]28 virtual string GetDataObjType();
29
[1315]30 virtual AnyDataObj* CloneDataObj(bool share=false);
[1165]31
[295]32 // virtual void ReadFits(string const & flnm);
33 // virtual void SaveFits(string const & flnm);
34 virtual void SavePPF(POutPersist& s, string const & nom);
35
[2383]36// Returns a string with synthetic information about the object
37 virtual string GetInfoString(int lev=0);
38
[295]39 virtual void Print(ostream& os);
40 virtual PIDrawer* GetDrawer(string& dopt);
[344]41 virtual NTupleInterface* GetNTupleInterface(bool& adel);
[295]42
[1207]43 virtual GeneralFitData* GetGeneralFitData(bool& adel
44 ,GeneralFitData::FitErrType errtype=GeneralFitData::DefaultError
45 ,double errscale=1.,double errmin=0.
46 ,int i1=0,int i2=-1,int j1=0,int j2=-1);
47 virtual AnyDataObj* FitResidusObj(GeneralFit& mfit);
48 virtual AnyDataObj* FitFunctionObj(GeneralFit& mfit);
49
[295]50protected:
51 Histo* mHis;
52};
53
[2605]54// Class Interface NTuple pour Histo / HProf / HistoErr
[295]55class NTupInt_Histo : public NTupleInterface {
56public:
57 NTupInt_Histo(Histo* h);
58 virtual ~NTupInt_Histo();
[2683]59 virtual sa_size_t NbLines() const ;
60 virtual sa_size_t NbColumns() const ;
61 virtual r_8 * GetLineD(sa_size_t n) const ;
[326]62 virtual string VarList_C(const char* nomx=NULL) const ;
[295]63protected:
64 Histo* mHis;
[326]65 mutable r_8 mRet[4];
[295]66};
67
68//-------------------------------------------------------------------------
69// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet Histo2D
70//-------------------------------------------------------------------------
71
72class NOMAdapter_Histo2D : public NObjMgrAdapter {
73public:
74 NOMAdapter_Histo2D(Histo2D* h = NULL);
75 virtual ~NOMAdapter_Histo2D();
76
77 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
78
[1165]79 virtual string GetDataObjType();
80
[1315]81 virtual AnyDataObj* CloneDataObj(bool share=false);
[1165]82
[295]83 // virtual void ReadFits(string const & flnm);
84 // virtual void SaveFits(string const & flnm);
85 virtual void SavePPF(POutPersist& s, string const & nom);
86
87 virtual void Print(ostream& os);
88 virtual PIDrawer* GetDrawer(string& dopt);
89 virtual P2DArrayAdapter* Get2DArray(string& dopt);
[344]90 virtual NTupleInterface* GetNTupleInterface(bool& adel);
[295]91
[1207]92 virtual GeneralFitData* GetGeneralFitData(bool& adel
93 ,GeneralFitData::FitErrType errtype=GeneralFitData::DefaultError
94 ,double errscale=1.,double errmin=0.
95 ,int i1=0,int i2=-1,int j1=0,int j2=-1);
96 virtual AnyDataObj* FitResidusObj(GeneralFit& mfit);
97 virtual AnyDataObj* FitFunctionObj(GeneralFit& mfit);
98
[295]99protected:
100 Histo2D* mHis;
101};
102
103// Class Interface NTuple pour Histo2D
104class NTupInt_Histo2D : public NTupleInterface {
105public:
106 NTupInt_Histo2D(Histo2D* h);
107 virtual ~NTupInt_Histo2D();
[2683]108 virtual sa_size_t NbLines() const ;
109 virtual sa_size_t NbColumns() const ;
110 virtual r_8 * GetLineD(sa_size_t n) const ;
[326]111 virtual string VarList_C(const char* nomx=NULL) const ;
[295]112protected:
113 Histo2D* mHis;
[326]114 mutable r_8 mRet[6];
[295]115};
116
117
118//-------------------------------------------------------------------------
119// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet NTuple
120//-------------------------------------------------------------------------
121
122class NOMAdapter_NTuple : public NObjMgrAdapter {
123public:
[361]124 NOMAdapter_NTuple(NTuple* nt = NULL);
[295]125 virtual ~NOMAdapter_NTuple();
126
127 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
128
[1165]129 virtual string GetDataObjType();
130
[1315]131 virtual AnyDataObj* CloneDataObj(bool share=false);
[1165]132
[1321]133 virtual void ReadFits(string const & flnm);
134 virtual void SaveFits(string const & flnm);
[295]135 virtual void SavePPF(POutPersist& s, string const & nom);
136
137 virtual void Print(ostream& os);
[344]138 virtual NTupleInterface* GetNTupleInterface(bool& adel);
[295]139
140protected:
141 NTuple* mNt;
142};
143
[361]144//-------------------------------------------------------------------------
145// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet XNTuple
146//-------------------------------------------------------------------------
[295]147
[361]148class NOMAdapter_XNTuple : public NObjMgrAdapter {
149public:
150 NOMAdapter_XNTuple(XNTuple* nt = NULL);
151 virtual ~NOMAdapter_XNTuple();
[295]152
[361]153 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
154
[1165]155 virtual string GetDataObjType();
156
[1315]157 virtual AnyDataObj* CloneDataObj(bool share=false);
[1165]158
[1321]159 virtual void ReadFits(string const & flnm);
160 virtual void SaveFits(string const & flnm);
[361]161 virtual void SavePPF(POutPersist& s, string const & nom);
162
163 virtual void Print(ostream& os);
164 virtual NTupleInterface* GetNTupleInterface(bool& adel);
165
166protected:
167 XNTuple* mNt;
168};
169
170
171
[295]172#endif
Note: See TracBrowser for help on using the repository browser.