1 #ifndef AliEventBuffer_H
2 #define AliEventBuffer_H
3 //______________________________________________________
4 ////////////////////////////////////////////////////////
6 // class AliEventBuffer
8 // FIFO type event buffer
10 // Piotr.Skowronski@cern.ch
12 ////////////////////////////////////////////////////////
18 class AliEventBuffer: public TObject
22 AliEventBuffer(Int_t size);
23 virtual ~AliEventBuffer();
25 AliAOD* Push(AliAOD* event);//adds a new event, and returns old of do not fit in size
26 AliAOD* RemoveLast(){return dynamic_cast<AliAOD*>(fEvents.Remove(fEvents.Last()));}
27 void ResetIter(){fIter.Reset();}
28 AliAOD* Next(){return dynamic_cast<AliAOD*>( fIter.Next() );}
29 void SetSize(Int_t size){fSize = size;}
30 Int_t GetSize() const {return fSize;}
31 void SetOwner(Bool_t flag) {fEvents.SetOwner(flag);}
34 Int_t fSize;//size of buffer; if 0 infinite size
35 TList fEvents;//list with arrays
36 TIter fIter;//iterator
37 ClassDef(AliEventBuffer,1)