bug fixed while filling the object AliPMDcluster
[u/mrichter/AliRoot.git] / RALICE / AliObjMatrix.h
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
8 #include "TObject.h"
9 #include "TObjArray.h"
10 #include "TRefArray.h"
11
12 class AliObjMatrix : public TObject
13 {
14  public:
15   AliObjMatrix();                                             // Default constructor
16   virtual ~AliObjMatrix();                                    // Default destructor
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
23   virtual void RemoveObject(Int_t row,Int_t col);             // Remove an object from the matrix
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
28   virtual TObject* GetObject(Int_t j);                        // Provide pointer to the j-th object
29   virtual TObjArray* GetObjects();                            // Provide pointers of all stored onjects
30  
31  protected:
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
38  
39  ClassDef(AliObjMatrix,2) // Handling of a matrix structure of objects.
40 };
41 #endif