3 //__________________________________________________________
4 ///////////////////////////////////////////////////////////////////
8 // This class is container for paticles coming from one event
9 // -----------------------------------------------------------------
10 // -----------------------------------------------------------------
11 // more info: http://aliweb.cern.ch/people/skowron/analyzer/index.html
13 // Piotr.Skowronski@cern.ch
15 ///////////////////////////////////////////////////////////////////
21 class AliHBTEvent: public TObject
25 AliHBTEvent(const AliHBTEvent& source);
26 virtual ~AliHBTEvent();
28 AliHBTEvent& operator=(const AliHBTEvent& source);
30 static const UInt_t fgkInitEventSize; //initial number of the array
31 //if expanded, this size is used also
32 AliHBTParticle* GetParticle(Int_t n); //gets particle
33 AliHBTParticle* GetParticleSafely(Int_t n); //gets particle with index check
35 void AddParticle(AliHBTParticle* hbtpart); //adds particle to the event
36 void AddParticle(TParticle* part, Int_t idx); //adds particle to the event
37 void AddParticle(Int_t pdg, Int_t idx, Double_t px, Double_t py, Double_t pz, Double_t etot,
38 Double_t vx, Double_t vy, Double_t vz, Double_t time);
40 Int_t GetNumberOfParticles() const;
41 void Reset(); //deletes all entries
42 void SetOwner(Bool_t owns = kTRUE){ fOwner = owns; }
43 Bool_t IsOwner() const {return fOwner;}
44 void SetRandomized(Bool_t rd = kTRUE){fRandomized = rd;}
45 Bool_t IsRandomized()const {return fRandomized;}
46 void SwapParticles(Int_t i, Int_t j);//swaps particles positions; used by AliHBTEvent::Blend
49 Int_t fSize; //!current size of the array
50 AliHBTParticle ** fParticles; //!array of pointers to the particles
51 Int_t fNParticles; //!number of particles in Event
52 Bool_t fOwner; //flag if that event owns the
53 Bool_t fRandomized; //!flag indicating if particles positions has been already randomizd
54 void Expand(); //expands the array if necessary
57 ClassDef(AliHBTEvent,1)
59 /**************************************************************************/
62 AliHBTParticle* AliHBTEvent::GetParticle(Int_t n)
64 //Gets particle without boundary check
68 /**************************************************************************/
71 Int_t AliHBTEvent::GetNumberOfParticles() const
73 //reurns number of particles in this event