memory leaks removed;
authorskowron <skowron@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 19 Feb 2004 09:14:27 +0000 (09:14 +0000)
committerskowron <skowron@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 19 Feb 2004 09:14:27 +0000 (09:14 +0000)
HBTAN/AliHBTEventBuffer.cxx
HBTAN/AliHBTEventBuffer.h

index a97478e12bd11ec692f518fb0ac66baeb90789eb..60141efc3d36bfe10f0af02d71d631fdca24bd51 100644 (file)
@@ -8,6 +8,10 @@ ClassImp(AliHBTEventBuffer)
 // class AliHBTEventBuffer
 //
 // FIFO type event buffer
 // class AliHBTEventBuffer
 //
 // FIFO type event buffer
+//
+// Piotr.Skowronski@cern.ch
+//
+////////////////////////////////////////////////////////
 
 AliHBTEventBuffer::AliHBTEventBuffer():
  fSize(-1),fEvents(),fIter(&fEvents)
 
 AliHBTEventBuffer::AliHBTEventBuffer():
  fSize(-1),fEvents(),fIter(&fEvents)
@@ -15,11 +19,25 @@ AliHBTEventBuffer::AliHBTEventBuffer():
   //ctor
 }
 /***********************************************************/
   //ctor
 }
 /***********************************************************/
+
 AliHBTEventBuffer::AliHBTEventBuffer(Int_t size):
  fSize(size),fEvents(),fIter(&fEvents)
 {
   //ctor
 }
 AliHBTEventBuffer::AliHBTEventBuffer(Int_t size):
  fSize(size),fEvents(),fIter(&fEvents)
 {
   //ctor
 }
+/***********************************************************/
+
+AliHBTEventBuffer::~AliHBTEventBuffer()
+{
+  //dtor -- TList::IsOwner(1) does not work - Valgrind says that there is mem leak
+  //take care owerseves
+  if (fEvents.IsOwner())
+   { 
+     AliHBTEvent* e=0x0;
+     while (( e=RemoveLast() )) delete e;
+   }
+}
+/***********************************************************/
 
 AliHBTEvent* AliHBTEventBuffer::Push(AliHBTEvent* event)
 {
 
 AliHBTEvent* AliHBTEventBuffer::Push(AliHBTEvent* event)
 {
index 0d25535c9ea748a54f5442ce6a86b1889da1ec05..f3804e2f6469cf0d70f53fab55049d85d580c7a8 100644 (file)
@@ -1,5 +1,15 @@
 #ifndef ALIHBTEVENTBUFFER_H
 #define ALIHBTEVENTBUFFER_H
 #ifndef ALIHBTEVENTBUFFER_H
 #define ALIHBTEVENTBUFFER_H
+//______________________________________________________
+////////////////////////////////////////////////////////
+//
+// class AliHBTEventBuffer
+//
+// FIFO type event buffer
+//
+// Piotr.Skowronski@cern.ch
+//
+////////////////////////////////////////////////////////
 
 #include <TObject.h>
 #include <TList.h>
 
 #include <TObject.h>
 #include <TList.h>
@@ -10,7 +20,7 @@ class AliHBTEventBuffer: public TObject
   public:
     AliHBTEventBuffer();
     AliHBTEventBuffer(Int_t size);
   public:
     AliHBTEventBuffer();
     AliHBTEventBuffer(Int_t size);
-    virtual ~AliHBTEventBuffer(){}
+    virtual ~AliHBTEventBuffer();
     
     AliHBTEvent* Push(AliHBTEvent* event);//adds a new event, and returns old of do not fit in size
     AliHBTEvent* RemoveLast(){return dynamic_cast<AliHBTEvent*>(fEvents.Remove(fEvents.Last()));}
     
     AliHBTEvent* Push(AliHBTEvent* event);//adds a new event, and returns old of do not fit in size
     AliHBTEvent* RemoveLast(){return dynamic_cast<AliHBTEvent*>(fEvents.Remove(fEvents.Last()));}