]> git.uio.no Git - u/mrichter/AliRoot.git/blob - CONTAINERS/AliObjectArray.h
Stand-alone library for ESD. Possibility to use only root and lidESD.so for analysis...
[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) const;
33   virtual void     Dump() const;
34   // 
35 protected :
36  void  CTORBuffer(void * buffer, UInt_t size)
37     {fClassInfo->CTORBuffer(buffer,size);} // buffer constructor   
38  void  DTORBuffer(void * buffer, UInt_t size)
39     {fClassInfo->DTORBuffer(buffer,size);} // buffer constructor
40 private:     
41   AliClassInfo      *fClassInfo;        //pointer to containg class info  
42   // 
43   //ClassDef(AliObjectArray,0) 
44   ClassDef(AliObjectArray,1) 
45 };
46
47
48
49
50
51
52
53 #endif //ALIMEMARRAY_I
54