0599a455597063575bbdc4af9decfd1408600372
[u/mrichter/AliRoot.git] / STEER / AliESDv0.h
1 #ifndef ALIESDV0_H
2 #define ALIESDV0_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8
9 //-------------------------------------------------------------------------
10 //                          ESD V0 Vertex Class
11 //          This class is part of the Event Summary Data set of classes
12 //    Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch 
13 //-------------------------------------------------------------------------
14
15 #include <TObject.h>
16 #include <TPDGCode.h>
17
18 class AliExternalTrackParam;
19
20 class AliESDv0 : public TObject {
21 public:
22   AliESDv0();
23   AliESDv0(const AliExternalTrackParam &t1, Int_t i1,
24            const AliExternalTrackParam &t2, Int_t i2);
25
26   Double_t ChangeMassHypothesis(Int_t code=kK0Short); 
27
28   Int_t GetPdgCode() const {return fPdgCode;}
29   Double_t GetEffMass() const {return fEffMass;}
30   Double_t GetChi2() const {return fChi2;}
31   void GetPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const;
32   void GetNPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const;
33   void GetPPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const;
34   void GetXYZ(Double_t &x, Double_t &y, Double_t &z) const;
35   Double_t GetD(Double_t x0=0.,Double_t y0=0.,Double_t z0=0.) const;
36   Int_t GetNindex() const {return fNidx;}
37   Int_t GetPindex() const {return fPidx;}
38   void SetESDindexes(Int_t ip, Int_t im){fNidx=ip;fPidx=im;}
39   void SetDcaDaughters(Double_t rDcaDaughters=0.);
40   Double_t GetDcaDaughters() {return fDcaDaughters;}
41 protected: 
42   Int_t fPdgCode;           // reconstructed V0's type (PDG code)
43   Double_t fEffMass;        // reconstructed V0's effective mass
44   Double_t fDcaDaughters;   // dca between V0's daughters
45   Double_t fChi2;           // V0's chi2 value
46   Double_t fPos[3];         // V0's position (global)
47   Double_t fPosCov[6];      // covariance matrix of the vertex position
48
49   Int_t fNidx;              // index of the negative daughter
50   Double_t fNmom[3];        // momentum of the negative daughter (global)
51   Double_t fNmomCov[6];     // covariance matrix of the negative daughter mom.
52
53   Int_t fPidx;              // index of the positive daughter
54   Double_t fPmom[3];        // momentum of the positive daughter (global)
55   Double_t fPmomCov[6];     // covariance matrix of the positive daughter mom.
56
57   ClassDef(AliESDv0,1)      // ESD V0 vertex
58 };
59
60 inline 
61 void AliESDv0::GetNPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const {
62 px=fNmom[0]; py=fNmom[1]; pz=fNmom[2];
63 }
64
65 inline 
66 void AliESDv0::GetPPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const {
67 px=fPmom[0]; py=fPmom[1]; pz=fPmom[2];
68 }
69
70 inline
71 void AliESDv0::SetDcaDaughters(Double_t rDcaDaughters){
72   fDcaDaughters=rDcaDaughters;
73 }
74
75 #endif
76
77