]> git.uio.no Git - u/mrichter/AliRoot.git/blame - CONTAINERS/AliObjectArray.h
Add tmevsin and mevsim libraries.
[u/mrichter/AliRoot.git] / CONTAINERS / AliObjectArray.h
CommitLineData
08edbb90 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"
19class TClass;
20
21class AliObjectArray: public AliMemArray {
22public:
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 //
34protected :
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
39private:
40 AliClassInfo *fClassInfo; //pointer to containg class info
41 //
42 ClassDef(AliObjectArray,0)
43};
44
45
46
47
48
49
50
51#endif //ALIMEMARRAY_I
52