]>
Commit | Line | Data |
---|---|---|
de34b538 | 1 | #ifndef ALIRECTMATRIX_H |
2 | #define ALIRECTMATRIX_H | |
3 | ||
4 | #include "TObject.h" | |
5 | class TString; | |
6 | ||
7 | class AliRectMatrix : public TObject { | |
8 | // | |
9 | public: | |
10 | AliRectMatrix(); | |
11 | AliRectMatrix(Int_t nrow,Int_t ncol); | |
12 | AliRectMatrix(const AliRectMatrix &src); | |
13 | virtual ~AliRectMatrix(); | |
14 | // | |
15 | Int_t GetNRows() const {return fNRows;} | |
16 | Int_t GetNCols() const {return fNCols;} | |
17 | // | |
18 | Double_t Query(Int_t rown, Int_t coln) const {return operator()(rown,coln);} | |
19 | ||
20 | AliRectMatrix& operator=(const AliRectMatrix& src); | |
21 | Double_t operator()(Int_t rown, Int_t coln) const; | |
22 | Double_t& operator()(Int_t rown, Int_t coln); | |
23 | Double_t* operator()(Int_t row) const {return GetRow(row);} | |
24 | Double_t* GetRow(Int_t row) const {return fRows[row];} | |
25 | // | |
26 | void Reset(); | |
27 | // | |
28 | virtual void Print(Option_t* option="") const; | |
29 | // | |
30 | protected: | |
31 | // | |
32 | Int_t fNRows; // Number of rows | |
33 | Int_t fNCols; // Number of columns | |
34 | Double_t **fRows; // pointers on rows | |
35 | // | |
36 | ClassDef(AliRectMatrix,0) //Rectangular Matrix Class | |
37 | }; | |
38 | ||
39 | //___________________________________________________________ | |
40 | inline Double_t AliRectMatrix::operator()(Int_t row, Int_t col) const | |
41 | { | |
42 | return (const Double_t&) GetRow(row)[col]; | |
43 | } | |
44 | ||
45 | //___________________________________________________________ | |
46 | inline Double_t& AliRectMatrix::operator()(Int_t row, Int_t col) | |
47 | { | |
48 | return (Double_t&) fRows[row][col]; | |
49 | } | |
50 | ||
51 | ||
52 | #endif |