b9abc79adbefbec4c87418eac5ef12b05b540d3e
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnEvent.h
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  * See cxx source for full Copyright notice                               *
4  **************************************************************************/
5
6 //-------------------------------------------------------------------------
7 //                      Class AliRsnEvent
8 //  Simple collection of reconstructed tracks, selected from an ESD event
9 // 
10 // author: A. Pulvirenti             (email: alberto.pulvirenti@ct.infn.it)
11 //-------------------------------------------------------------------------
12
13 #ifndef ALIRSNEVENT_H
14 #define ALIRSNEVENT_H
15
16 #include "AliPID.h"
17
18 class AliRsnDaughter;
19
20 class AliRsnEvent : public TObject
21 {
22 public:
23                        AliRsnEvent();
24                        AliRsnEvent(const AliRsnEvent& copy);
25                                    AliRsnEvent& operator=(const AliRsnEvent& copy);
26                          
27         virtual       ~AliRsnEvent() {Clear("DELETE");}
28         
29         void           AddTrack(AliRsnDaughter track);
30         void           Clear(Option_t *option = "");
31         void           ComputeMultiplicity();
32         Int_t          GetMultiplicity() const {return fMultiplicity;}
33         Double_t       GetPrimaryVertexX() const {return fPVx;}
34         Double_t       GetPrimaryVertexY() const {return fPVy;}
35         Double_t       GetPrimaryVertexZ() const {return fPVz;}
36         void           GetPrimaryVertex(Double_t &x, Double_t &y, Double_t &z) const {x=fPVx;y=fPVy;z=fPVz;}
37         TClonesArray*  GetTracks(Char_t sign, AliPID::EParticleType type);
38         void           Init();
39         Int_t          PDG2Enum(Int_t pdgcode);
40         void           PrintTracks();
41         void           SetPrimaryVertex(Double_t x, Double_t y, Double_t z) {fPVx=x;fPVy=y;fPVz=z;}
42
43 private:
44
45         Double_t       fPVx;                              // position of
46         Double_t       fPVy;                              // primary
47         Double_t       fPVz;                              // vertex
48         
49         Int_t          fMultiplicity;             // global event multiplicity
50
51         TClonesArray  *fPos[AliPID::kSPECIES];    // collections of positive particles
52         TClonesArray  *fNeg[AliPID::kSPECIES];    // collections of negative particles
53         TClonesArray  *fPosNoPID;                 // collection of unidentified positive particles
54         TClonesArray  *fNegNoPID;                 // collection of unidentified positive particles
55         
56         ClassDef(AliRsnEvent,1);
57 };
58
59 #endif