]> git.uio.no Git - u/mrichter/AliRoot.git/blame - RALICE/AliObjMatrix.h
08-mar-2003 NvE Compiler option /GR introduced for MSVC++ in mklibs.bat to explicitly...
[u/mrichter/AliRoot.git] / RALICE / AliObjMatrix.h
CommitLineData
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
12class 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