// This may look like C code, but it is really -*- C++ -*- // Adaptateur d objets (pour NamedObjMgr) // pour les classes TMatrix, TVector de Sophya // Reza 11/99 // LAL-IN2P3/CNRS CEA-DAPNIA #ifndef NOMTMATVECADAPTER_H_SEEN #define NOMTMATVECADAPTER_H_SEEN #include "nomgadapter.h" #include "tmatrix.h" //--------------------------------------------------------------- // Class Adaptateur d'objet (Pour NamedObjMgr) d'objet TMatrix //--------------------------------------------------------------- template class NOMAdapter_TMatrix : public NObjMgrAdapter { public: NOMAdapter_TMatrix(TMatrix* m = NULL); virtual ~NOMAdapter_TMatrix(); virtual NObjMgrAdapter* Clone(AnyDataObj* o); virtual AnyDataObj* GetCopyObj(); // virtual void ReadFits(string const & flnm); // virtual void SaveFits(string const & flnm); virtual void SavePPF(POutPersist& s, string const & nom); virtual void Print(ostream& os); virtual PIDrawer* GetDrawer(string& dopt); virtual P2DArrayAdapter* Get2DArray(string& dopt); virtual NTupleInterface* GetNTupleInterface(bool& adel); protected: TMatrix* mMtx; }; // Class Interface NTuple pour TMatrix template class NTupInt_TMatrix : public NTupleInterface { public: NTupInt_TMatrix(TMatrix* m); virtual ~NTupInt_TMatrix(); virtual uint_4 NbLines() const ; virtual uint_4 NbColumns() const ; virtual r_8 * GetLineD(int n) const ; virtual string VarList_C(const char* nomx=NULL) const ; protected: TMatrix* mMtx; mutable r_8 mRet[8]; }; #endif