ROOT logo
#ifndef __HObjTable_H
#define __HObjTable_H

#include "TObject.h"
#include "TClonesArray.h"

#include "hlocation.h"

class HObjTable : public TObject {
protected:
  TClonesArray *m_fData; // Container for the data in the Matrix category;
  Int_t m_nNIndexes;
  Int_t *m_pIndexTab; //[m_nNIndexes]
 
public:
  HObjTable(void);
  virtual ~HObjTable(void);

  void setSizes(Int_t nIndexes, Int_t *pSizes);
  void set(Int_t nIndexes, ...);

  void setCellClassName(const Char_t* pszName);
  Char_t* getCellClassName();

  virtual TObject *getObject(Int_t nIndx);
  virtual TObject *getObject(HLocation &loc);
  virtual TObject *&getSlot(HLocation &loc);
  virtual TObject *&getSlot(Int_t nIndx);

  virtual TClonesArray *getClones(HLocation &aLoc);

  Int_t makeObjTable();
  void deleteTab();

private:
  virtual HObjTable *makeSubObjTable(Int_t nIndexes, Int_t *pSizes, TObject *pObj);
  void clearTab();
  TObject *m_pNullObject;

  Char_t m_szClassName[40];

  ClassDef(HObjTable,1)
};
		     

#endif
 hobjtable.h:1
 hobjtable.h:2
 hobjtable.h:3
 hobjtable.h:4
 hobjtable.h:5
 hobjtable.h:6
 hobjtable.h:7
 hobjtable.h:8
 hobjtable.h:9
 hobjtable.h:10
 hobjtable.h:11
 hobjtable.h:12
 hobjtable.h:13
 hobjtable.h:14
 hobjtable.h:15
 hobjtable.h:16
 hobjtable.h:17
 hobjtable.h:18
 hobjtable.h:19
 hobjtable.h:20
 hobjtable.h:21
 hobjtable.h:22
 hobjtable.h:23
 hobjtable.h:24
 hobjtable.h:25
 hobjtable.h:26
 hobjtable.h:27
 hobjtable.h:28
 hobjtable.h:29
 hobjtable.h:30
 hobjtable.h:31
 hobjtable.h:32
 hobjtable.h:33
 hobjtable.h:34
 hobjtable.h:35
 hobjtable.h:36
 hobjtable.h:37
 hobjtable.h:38
 hobjtable.h:39
 hobjtable.h:40
 hobjtable.h:41
 hobjtable.h:42
 hobjtable.h:43
 hobjtable.h:44
 hobjtable.h:45
 hobjtable.h:46