06351446 |
1 | /************************************************************************** |
2 | * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
3 | * See cxx source for full Copyright notice * |
4 | **************************************************************************/ |
8ecf98c4 |
5 | |
06351446 |
6 | // |
7 | // Class AliRsnEventBuffer |
8 | // |
9 | // Implements a temporary buffer of many AliRsnEvent objects |
10 | // which is useful for event mixing. |
11 | // |
12 | // author: Martin Vala (Martin.Vala@cern.ch) |
13 | // revised by: A. Pulvirenti (alberto.pulvirenti@ct.infn.it) |
14 | // |
15 | |
16 | #ifndef AliRsnEventBuffer_h |
17 | #define AliRsnEventBuffer_h |
18 | |
19 | #include "AliRsnEvent.h" |
20 | |
21 | class AliRsnEventBuffer : public TObject |
22 | { |
23 | public: |
24 | |
25 | AliRsnEventBuffer (Int_t buffsize = 1000, Bool_t deleteBufferWhenReset=kTRUE); |
26 | ~AliRsnEventBuffer(); |
27 | |
28 | void ClearBuffer(); |
29 | void ResetIndex(); |
30 | |
31 | void AddEvent (AliRsnEvent *event); |
32 | AliRsnEvent *GetEvent (Int_t index) ; |
33 | AliRsnEvent *GetCurrentEvent (); |
34 | AliRsnEvent *GetNextEvent (); |
35 | |
36 | void SetEventsBufferSize (const Int_t& theValue) { fEventsBufferSize = theValue; } |
37 | Int_t GetEventsBufferSize() const { return fEventsBufferSize; } |
38 | Int_t GetEventsBufferIndex() const { return fEventsBufferIndex; } |
39 | |
40 | void SetDeleteBufferWhenReset (const Bool_t& theValue = kTRUE) { fDeleteBufferWhenReset = theValue; } |
41 | Bool_t GetDeleteBufferWhenReset() const { return fDeleteBufferWhenReset; } |
8ecf98c4 |
42 | |
06351446 |
43 | Int_t NEmptySlots(); |
44 | |
45 | private: |
8ecf98c4 |
46 | |
47 | AliRsnEventBuffer (const AliRsnEventBuffer& buf) : |
48 | TObject(buf), fDeleteBufferWhenReset(0),fEventsBufferSize(0),fEventsBufferIndex(0) {} |
06351446 |
49 | const AliRsnEventBuffer& operator=(const AliRsnEventBuffer& /*buf*/) {return (*this);} |
50 | |
51 | Bool_t fDeleteBufferWhenReset; // flag if buffer should be deleted when reset is done |
52 | Int_t fEventsBufferSize; // buffer size |
53 | Int_t fEventsBufferIndex; // current buffer index |
54 | AliRsnEvent *fEventsBuffer[10000]; // array of events |
55 | |
56 | ClassDef (AliRsnEventBuffer, 1) |
57 | }; |
58 | |
59 | #endif |