X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TOF%2FAliTOFHitDataBuffer.cxx;h=2fe97c392e3fd0c568c29b67e5a260622241d8c2;hb=0c75a99d0162cd666b1793fb2d06dbb8f0fd1af0;hp=1edefe38bf7f687a6118f40b714b1b385422051d;hpb=e7d00ae7d94376f242ffc4bc3791747e848d2da0;p=u%2Fmrichter%2FAliRoot.git diff --git a/TOF/AliTOFHitDataBuffer.cxx b/TOF/AliTOFHitDataBuffer.cxx index 1edefe38bf7..2fe97c392e3 100644 --- a/TOF/AliTOFHitDataBuffer.cxx +++ b/TOF/AliTOFHitDataBuffer.cxx @@ -15,6 +15,9 @@ /* $Log$ +Revision 1.1 2007/04/27 11:03:09 arcelli +container for TOF raw data + authors: Roberto Preghenella, preghenella@bo.infn.it with contribution from Chiara Zampolli, zampolli@bo.infn.it */ @@ -28,58 +31,38 @@ $Log$ // // //////////////////////////////////////////////////////////////////////// -#include +#include "AliLog.h" #include "AliTOFHitDataBuffer.h" ClassImp(AliTOFHitDataBuffer) -AliTOFHitDataBuffer::AliTOFHitDataBuffer(Int_t BufferSize = 1000) : +AliTOFHitDataBuffer::AliTOFHitDataBuffer() : TObject(), - fBufferSize(BufferSize), - fBuffer(0x0), - fEntries(0) + fBuffer("AliTOFHitData") { - fBuffer = new AliTOFHitData[BufferSize]; + fBuffer.SetOwner(kTRUE); } + //----------------------------------------------------------------------------- -AliTOFHitDataBuffer::AliTOFHitDataBuffer(const AliTOFHitDataBuffer &source): + +AliTOFHitDataBuffer::AliTOFHitDataBuffer(Int_t size) : TObject(), - fBufferSize(0), - fBuffer(0x0), - fEntries(source.fEntries) + fBuffer("AliTOFHitData", size) { - // copy ctr - this->fBufferSize = source.fBufferSize; - this->fBuffer = new AliTOFHitData[this->fBufferSize]; - this->fEntries = source.fEntries; - for (Int_t i = 0; i < this->fEntries; i++) - this->fBuffer[i] = source.fBuffer[i]; + fBuffer.SetOwner(kTRUE); } //----------------------------------------------------------------------------- -AliTOFHitDataBuffer& AliTOFHitDataBuffer::operator=(const AliTOFHitDataBuffer & source) -{ - // ass operator - this->fEntries = source.fEntries < this->fBufferSize ? source.fEntries : this->fBufferSize; - for (Int_t i = 0; i < this->fEntries; i++) - this->fBuffer[i] = source.fBuffer[i]; - return *this; -} -//----------------------------------------------------------------------------- AliTOFHitDataBuffer::~AliTOFHitDataBuffer() { - delete [] fBuffer; } //----------------------------------------------------------------------------- Bool_t AliTOFHitDataBuffer::Add(AliTOFHitData &HitData) { // adding a new entry - if (fEntries >= fBufferSize){ - printf("buffer limit: current entries = %d\n", fEntries); - return kTRUE; - } - fBuffer[fEntries++] = HitData; + + new (fBuffer[GetEntries()]) AliTOFHitData(HitData); return kFALSE; }