]>
Commit | Line | Data |
---|---|---|
84bb7c66 | 1 | #ifndef ALIOBJMATRIX_H |
2 | #define ALIOBJMATRIX_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | // $Id$ | |
7 | ||
84bb7c66 | 8 | #include "TObject.h" |
9 | #include "TObjArray.h" | |
c72198f1 | 10 | #include "TRefArray.h" |
84bb7c66 | 11 | |
12 | class AliObjMatrix : public TObject | |
13 | { | |
14 | public: | |
15 | AliObjMatrix(); // Default constructor | |
c72198f1 | 16 | virtual ~AliObjMatrix(); // Default destructor |
84bb7c66 | 17 | virtual void Reset(); // Reset the whole matrix structure |
18 | virtual void SetOwner(Int_t own=1); // Set the owner flag for the stored objects | |
19 | virtual Int_t GetOwner(); // Provide the owner flag for the stored objects | |
20 | virtual void SetSwapMode(Int_t swap=1); // Set the swap mode flag for this matrix | |
21 | virtual Int_t GetSwapMode(); // Provide the swap mode flag for this matrix | |
22 | virtual void EnterObject(Int_t row,Int_t col,TObject* obj); // Enter an object into the matrix | |
c72198f1 | 23 | virtual void RemoveObject(Int_t row,Int_t col); // Remove an object from the matrix |
84bb7c66 | 24 | virtual TObject* GetObject(Int_t row,Int_t col); // Provide an object from the matrix |
25 | virtual Int_t GetMaxRow(); // Provide the maximum row number index | |
26 | virtual Int_t GetMaxColumn(); // Provide the maximum column number index | |
27 | virtual Int_t GetNobjects(); // Provide the number of stored objects | |
c72198f1 | 28 | virtual TObject* GetObject(Int_t j); // Provide pointer to the j-th object |
29 | virtual TObjArray* GetObjects(); // Provide pointers of all stored onjects | |
84bb7c66 | 30 | |
31 | protected: | |
c72198f1 | 32 | TObjArray* fRows; // Pointers to the various arrays representing the matrix rows |
33 | Int_t fOwn; // Flag to indicate whether the objects are owned by the matrix structure | |
34 | Int_t fSwap; // Flag to indicate swapped mode for internal matrix storage | |
35 | Int_t fMaxrow; // The maximum row number index | |
36 | Int_t fMaxcol; // The maximum column number index | |
37 | TObjArray* fObjects; // Linear reference array for fast looping over the stored objects | |
84bb7c66 | 38 | |
c72198f1 | 39 | ClassDef(AliObjMatrix,2) // Handling of a matrix structure of objects. |
84bb7c66 | 40 | }; |
41 | #endif |