#ifndef ALIHBTEVENTBUFFER_H #define ALIHBTEVENTBUFFER_H //______________________________________________________ //////////////////////////////////////////////////////// // // class AliHBTEventBuffer // // FIFO type event buffer // // Piotr.Skowronski@cern.ch // //////////////////////////////////////////////////////// #include #include #include "AliHBTEvent.h" class AliHBTEventBuffer: public TObject { public: AliHBTEventBuffer(); AliHBTEventBuffer(Int_t size); virtual ~AliHBTEventBuffer(); AliHBTEvent* Push(AliHBTEvent* event);//adds a new event, and returns old of do not fit in size AliHBTEvent* RemoveLast(){return dynamic_cast(fEvents.Remove(fEvents.Last()));} void ResetIter(){fIter.Reset();} AliHBTEvent* Next(){return dynamic_cast( fIter.Next() );} void SetSize(Int_t size){fSize = size;} Int_t GetSize() const {return fSize;} void SetOwner(Bool_t flag) {fEvents.SetOwner(flag);} protected: private: Int_t fSize;//size of buffer; if 0 infinite size TList fEvents;//list with arrays TIter fIter;//iterator ClassDef(AliHBTEventBuffer,1) }; #endif