]>
Commit | Line | Data |
---|---|---|
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 |