]> git.uio.no Git - u/mrichter/AliRoot.git/blob - CONTAINERS/AliObjectArray.h
The operator[] is replaced by At() or AddAt() in case of TObjArray.
[u/mrichter/AliRoot.git] / CONTAINERS / AliObjectArray.h
1 #ifndef ALIOBJECTARRAY_H
2 #define ALIOBJECTARRAY_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 //  AliObjectArray                                                     //
9 //AliObjectArray is an array of clone (identical) objects.             //     
10 //In comparison with the TClonesArray objects in this array don't need //
11 //to derive from TObject. They also don't need RTTI - type information.// 
12 //Objects type information is stored in object fClassInfo (instance of //
13 //the AliClassInfo).                                                   //
14 //                                                                     //
15 /////////////////////////////////////////////////////////////////////////
16
17 #include "AliClassInfo.h"
18 #include "AliMemArray.h"
19 class TClass;
20
21 class AliObjectArray: public AliMemArray {
22 public:
23   AliObjectArray();
24   AliObjectArray(const char * classname, Int_t buffersize=0);
25   AliObjectArray(const AliObjectArray &arr); //copy constructor 
26   AliObjectArray & operator = (const AliObjectArray &arr);
27   ~AliObjectArray();
28   Bool_t SetClass(const char * classname);
29   //
30   TClass * GetClass() {return fClassInfo->GetClass();}
31   AliClassInfo  * GetClassInfo() const {return fClassInfo;} 
32   virtual void     Dump(Int_t i);
33   // 
34 protected :
35  void  CTORBuffer(void * buffer, UInt_t size)
36     {fClassInfo->CTORBuffer(buffer,size);} // buffer constructor   
37  void  DTORBuffer(void * buffer, UInt_t size)
38     {fClassInfo->DTORBuffer(buffer,size);} // buffer constructor
39 private:     
40   AliClassInfo      *fClassInfo;        //pointer to containg class info  
41   // 
42   //ClassDef(AliObjectArray,0) 
43   ClassDef(AliObjectArray,1) 
44 };
45
46
47
48
49
50
51
52 #endif //ALIMEMARRAY_I
53