4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
9 //-------------------------------------------------------------------------
10 // ESD V0 Vertex Class
11 // This class is part of the Event Summary Data set of classes
12 // Origin: Marian Ivanov marian.ivanov@cern.ch
13 //-------------------------------------------------------------------------
16 #include "AliExternalTrackParam.h"
18 #include "AliVVkink.h"
22 class AliESDkink : public TObject, public AliVVkink {
24 AliESDkink(); //constructor
25 AliESDkink(const AliESDkink &source); //constructor
26 AliESDkink& operator=(const AliESDkink &source);
27 virtual void Copy(TObject &obj) const;
29 void SetID(Short_t id){fID=id;}
30 Short_t GetID(){return fID;}
31 void SetMother(const AliExternalTrackParam & pmother);
32 void SetDaughter(const AliExternalTrackParam & pdaughter);
33 Double_t GetTPCDensityFactor() const;
34 Float_t GetQt() const;
36 Double_t GetR() const {return fRr;}
37 Double_t GetDistance() const {return fDist2;}
38 UChar_t GetTPCRow0() const {return fRow0;}
39 Double_t GetAngle(Int_t i) const {return fAngle[i];}
40 const Double_t *GetPosition() const {return fXr;}
41 const Double_t *GetMotherP() const {return fPm;}
42 const Double_t *GetDaughterP() const {return fPdr;}
43 void SetTPCRow0(Int_t row0){fRow0 = row0;}
44 Int_t GetLabel(Int_t i) const {return fLab[i];}
45 void SetLabel(Int_t label, Int_t pos) {fLab[pos]=label;}
46 Int_t GetIndex(Int_t i) const {return fIndex[i];}
47 void SetIndex(Int_t index, Int_t pos){fIndex[pos]=index;}
48 void SetStatus(Char_t status, Int_t pos){fStatus[pos]=status;}
49 Char_t GetStatus(Int_t pos) const {return fStatus[pos];}
50 void SetTPCncls(UChar_t ncls,Int_t pos) {fTPCncls[pos]=ncls;}
51 const UChar_t *GetTPCncls() const {return fTPCncls;}
52 void SetTPCDensity(Float_t dens, Int_t pos0,Int_t pos1){fTPCdensity[pos0][pos1]=dens;}
53 Double_t GetTPCDensity(Int_t pos0,Int_t pos1) const {return fTPCdensity[pos0][pos1];}
54 Double_t GetShapeFactor() const {return fShapeFactor;}
55 void SetShapeFactor(Float_t factor){fShapeFactor = factor;}
56 void SetMultiple(UChar_t mult,Int_t pos){fMultiple[pos]=mult;}
57 const UChar_t * GetMultiple() const {return fMultiple;}
59 const AliExternalTrackParam& RefParamDaughter() {return fParamDaughter;}
60 const AliExternalTrackParam& RefParamMother() {return fParamMother;}
63 AliExternalTrackParam fParamDaughter;
64 AliExternalTrackParam fParamMother;
66 Double32_t fDist1; //info about closest distance according closest MC - linear DCA
67 Double32_t fDist2; //info about closest distance parabolic DCA
69 Double32_t fPdr[3]; //momentum at vertex daughter - according approx at DCA
70 Double32_t fXr[3]; //rec. position according helix
72 Double32_t fPm[3]; //momentum at the vertex mother
73 Double32_t fRr; // rec position of the vertex
75 Double32_t fShapeFactor; // tpc clusters shape factor
76 Double32_t fTPCdensity[2][2]; //[0,1,16]tpc cluster density before and after kink
77 Double32_t fAngle[3]; //[-2*pi,2*pi,16]three angles
79 Int_t fLab[2]; //MC label of the partecle
80 Int_t fIndex[2]; //reconstructed labels of the tracks
82 Short_t fID; // kink ID
84 UChar_t fRow0; // critical pad row number
85 UChar_t fMultiple[2]; //how many times the track's were used
86 UChar_t fTPCncls[2]; //number of clusters for mother particle
88 Char_t fStatus[12]; //status of kink - first 4 mother (ITS,TPC,TRD,TOF) other daughter
91 ClassDef(AliESDkink,4) // ESD V0 vertex