Commit PWG2 Makefile. To compile the code of the PWG2 module one has to do: make...
[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 <TMath.h>
17 #include "AliPID.h"
18
19 class AliRsnDaughter;
20
21 class AliRsnEvent : public TObject
22 {
23 public:
24                        AliRsnEvent();
25                        AliRsnEvent(const AliRsnEvent& copy);
26                          
27         virtual       ~AliRsnEvent() {Clear("DELETE");}
28         
29         void           AddTrack(AliRsnDaughter track);
30         void           Clear(Option_t *option = "");
31         Int_t          GetMultiplicity(Bool_t recalc = kFALSE);
32         const char*    GetOriginFileName();
33         Double_t       GetPrimaryVertexX()                                     {return fPVx;}
34         Double_t       GetPrimaryVertexY()                                     {return fPVy;}
35         Double_t       GetPrimaryVertexZ()                                     {return fPVz;}
36         void           GetPrimaryVertex(Double_t &x, Double_t &y, Double_t &z) {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           SetESD(Bool_t yesno = kTRUE)                            {fIsESD=yesno;}
42         void           SetPath(TString path)                                   {fPath=path;}
43         void           SetPrimaryVertex(Double_t x, Double_t y, Double_t z)    {fPVx=x;fPVy=y;fPVz=z;}
44
45 private:
46
47         Bool_t         fIsESD;                    // if true, it is ESD event, otherwise it comes from Kine
48         TString        fPath;                     // complete path where input event file is stored
49         
50         Double_t       fPVx;                              //
51         Double_t       fPVy;                              // primary vertex
52         Double_t       fPVz;                              //
53         
54         Int_t          fMultiplicity;             // global event multiplicity
55
56         TClonesArray  *fPos[AliPID::kSPECIES];    // collections of positive particles
57         TClonesArray  *fNeg[AliPID::kSPECIES];    // collections of negative particles
58         
59         ClassDef(AliRsnEvent,1);
60 };
61
62 #endif