X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FSTEERBase%2FAliRefArray.cxx;h=2e6ac9dcc01e1cc40579c285626586b61d26e3be;hb=ac9870144bd00e3584aeec1996659f27441b5ad4;hp=14fa576f5ff3962604a8d95bea19782330e7d80c;hpb=7330f0e52a55c9762ac260712cb54cd9446b876d;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/STEERBase/AliRefArray.cxx b/STEER/STEERBase/AliRefArray.cxx index 14fa576f5ff..2e6ac9dcc01 100644 --- a/STEER/STEERBase/AliRefArray.cxx +++ b/STEER/STEERBase/AliRefArray.cxx @@ -28,6 +28,7 @@ AliRefArray::AliRefArray() : fNElems(0),fRefSize(0),fElems(0),fRefInd(0),fRefBuf AliRefArray::AliRefArray(UInt_t nelem,UInt_t depth) : TObject(),fNElems(nelem),fRefSize(depth),fElems(0),fRefInd(0),fRefBuff(0) { + // constructor fNElems = nelem; // create array with nelem initial referres if (fNElems<1) fNElems = 1; @@ -42,10 +43,19 @@ AliRefArray::AliRefArray(UInt_t nelem,UInt_t depth) : //____________________________________________________________________ AliRefArray::AliRefArray(const AliRefArray& src) : - TObject(),fNElems(0),fRefSize(0),fElems(0),fRefInd(0),fRefBuff(0) + TObject(src), + fNElems(src.fNElems), + fRefSize(src.fRefSize), + fElems(new Int_t[fNElems]), + fRefInd(new UInt_t[fRefSize]), + fRefBuff(new UInt_t[fRefSize]) { - // create a copy with useful info (skip unused slots) - (*this) = src; + // + // create a copy + // + memcpy(fElems,src.fElems,fNElems*sizeof(Int_t)); + memcpy(fRefInd,src.fRefInd,fRefSize*sizeof(UInt_t)); + memcpy(fRefBuff,src.fRefBuff,fRefSize*sizeof(UInt_t)); } //____________________________________________________________________ @@ -82,9 +92,9 @@ AliRefArray& AliRefArray::operator=(const AliRefArray& src) AliRefArray::~AliRefArray() { // destructor - delete[] fElems; fElems = 0; - delete[] fRefBuff; fRefBuff = 0; - delete[] fRefInd; fRefInd = 0; + delete[] fElems; + delete[] fRefBuff; + delete[] fRefInd; } //____________________________________________________________________