00001 #ifndef _Q_MATRIX_R_HH_ 00002 #define _Q_MATRIX_R_HH_ 00003 00010 #include "QObjectR.hh" 00011 #include <TMatrixT.h> 00012 #include "QVectorR.hh" 00013 00014 namespace Cuore {class QMatrix;} 00015 00016 class QMatrixR : public QObjectR { 00017 public: 00019 QMatrixR(); 00020 00022 QMatrixR(const Int_t nrows, const Int_t ncolumns); 00023 00029 const QMatrixR& operator=(const Cuore::QMatrix& matrix); 00030 00032 double operator()(Int_t row, Int_t column) const 00033 {return fMatrix(row, column);} 00034 00036 double& operator()(Int_t row, Int_t column) 00037 {return fMatrix(row, column);} 00038 00040 QVectorR GetRowByColumnIntValue(int col, int val); 00046 void Assign(const Cuore::QObject* obj); 00047 00049 void Draw(); // *MENU* 00050 00052 void Draw(Option_t* option) {fMatrix.Draw(option);} 00053 00059 void Fill(Cuore::QMatrix& matrix) const; 00060 00062 void FillQObject(Cuore::QObject*& obj) const; 00063 00065 TMatrixT<double>& GetTMatrix() {return fMatrix;} 00066 00068 void Print() const {fMatrix.Print();} // *MENU* 00069 00071 void Print(Option_t* name) const {fMatrix.Print(name);} 00072 00073 private: 00075 TMatrixT<double> fMatrix; 00076 00077 ClassDef(QMatrixR, 1); 00078 }; 00079 00080 #endif