]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TOF/AliTOFHitDataBuffer.cxx
Corrected ctor call.
[u/mrichter/AliRoot.git] / TOF / AliTOFHitDataBuffer.cxx
index 1edefe38bf7f687a6118f40b714b1b385422051d..2fe97c392e3fd0c568c29b67e5a260622241d8c2 100644 (file)
@@ -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 <stdlib.h>
+#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;
 }