]>
Commit | Line | Data |
---|---|---|
88cb7938 | 1 | #ifndef ALIHBTEVENT_H |
2 | #define ALIHBTEVENT_H | |
8089a083 | 3 | //__________________________________________________________ |
4 | /////////////////////////////////////////////////////////////////// | |
5 | // | |
6 | // class AliHBTEvent | |
7 | // | |
8 | // This class is container for paticles coming from one event | |
9 | // | |
10 | // more info: http://alisoft.cern.ch/people/skowron/analyzer/index.html | |
11 | // | |
12 | // Piotr.Skowronski@cern.ch | |
13 | // | |
14 | /////////////////////////////////////////////////////////////////// | |
1b446896 | 15 | |
16 | #include <TObject.h> | |
17 | ||
18 | class AliHBTParticle; | |
19 | class TParticle; | |
20 | class AliHBTEvent: public TObject | |
21 | { | |
22 | public: | |
23 | AliHBTEvent(); | |
24 | virtual ~AliHBTEvent(); | |
28cf76fa | 25 | static const UInt_t fgkInitEventSize; //initial number of the array |
aa4e0a70 | 26 | //if expanded, this size is used also |
1b446896 | 27 | AliHBTParticle* GetParticle(Int_t n); //gets particle |
28 | AliHBTParticle* GetParticleSafely(Int_t n); //gets particle with index check | |
29 | ||
8089a083 | 30 | void AddParticle(AliHBTParticle*); //adds particle to the event |
31 | void AddParticle(TParticle*, Int_t idx); //adds particle to the event | |
32 | void AddParticle(Int_t pdg, Int_t idx, Double_t px, Double_t py, Double_t pz, Double_t etot, | |
1b446896 | 33 | Double_t vx, Double_t vy, Double_t vz, Double_t time); |
34 | ||
35 | Int_t GetNumberOfParticles() const; | |
cea431b6 | 36 | void Reset(); //deletes all entries |
37 | void SetOwner(Bool_t owns = kTRUE){ fOwner = owns; } | |
8089a083 | 38 | Bool_t IsOwner() {return fOwner;} |
88cb7938 | 39 | void SetRandomized(Bool_t rd = kTRUE){fRandomized = rd;} |
40 | Bool_t IsRandomized()const {return fRandomized;} | |
1b446896 | 41 | protected: |
88cb7938 | 42 | Int_t fSize; //!current size of the array |
1b446896 | 43 | AliHBTParticle ** fParticles; //!array of pointers to the particles |
cea431b6 | 44 | Int_t fNParticles; //!number of particles in Event |
cea431b6 | 45 | Bool_t fOwner; //flag if that event owns the |
88cb7938 | 46 | Bool_t fRandomized; //!flag indicating if particles positions has been already randomizd |
cea431b6 | 47 | void Expand(); //expands the array if necessary |
aa4e0a70 | 48 | |
1b446896 | 49 | private: |
1b446896 | 50 | ClassDef(AliHBTEvent,1) |
51 | }; | |
52 | /**************************************************************************/ | |
53 | ||
54 | inline | |
55 | AliHBTParticle* AliHBTEvent::GetParticle(Int_t n) | |
56 | { | |
57 | //Gets particle without boundary check | |
58 | return fParticles[n]; | |
59 | } | |
60 | ||
61 | /**************************************************************************/ | |
62 | ||
63 | inline | |
64 | Int_t AliHBTEvent::GetNumberOfParticles() const | |
65 | { | |
66 | //reurns number of particles in this event | |
67 | return fNParticles; | |
68 | } | |
69 | ||
70 | #endif |