1 #include "AliEventBuffer.h"
3 ClassImp(AliEventBuffer)
5 //______________________________________________________
6 ////////////////////////////////////////////////////////
8 // class AliEventBuffer
10 // FIFO type event buffer
12 // Piotr.Skowronski@cern.ch
14 ////////////////////////////////////////////////////////
16 AliEventBuffer::AliEventBuffer():
17 fSize(-1),fEvents(),fIter(&fEvents)
21 /***********************************************************/
23 AliEventBuffer::AliEventBuffer(Int_t size):
24 fSize(size),fEvents(),fIter(&fEvents)
28 /***********************************************************/
30 AliEventBuffer::~AliEventBuffer()
32 //dtor -- TList::IsOwner(1) does not work - Valgrind says that there is mem leak
34 if (fEvents.IsOwner())
37 while (( e=RemoveLast() )) delete e;
40 /***********************************************************/
42 void AliEventBuffer::Reset()
45 if (fEvents.IsOwner())
48 while (( e=RemoveLast() )) delete e;
55 /***********************************************************/
57 AliAOD* AliEventBuffer::Push(AliAOD* event)
59 //adds a new event, and returns old of do not fit in size
60 if (fSize == 0) return event;
64 if (fSize == fEvents.GetSize())
65 ret = dynamic_cast<AliAOD*>(fEvents.Remove(fEvents.Last()));
66 if (event) fEvents.AddFirst(event);