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"
21 class AliESDkink : public TObject {
23 AliESDkink(); //constructor
24 AliESDkink(const AliESDkink &source); //constructor
25 AliESDkink& operator=(const AliESDkink &source);
26 virtual void Copy(TObject &obj) const;
28 void SetID(Short_t id){fID=id;}
29 Short_t GetID(){return fID;}
30 void SetMother(const AliExternalTrackParam & pmother);
31 void SetDaughter(const AliExternalTrackParam & pdaughter);
32 Double_t GetTPCDensityFactor() const;
33 Float_t GetQt() const;
35 Double_t GetR() const {return fRr;}
36 Double_t GetDistance() const {return fDist2;}
37 UChar_t GetTPCRow0() const {return fRow0;}
38 Double_t GetAngle(Int_t i) const {return fAngle[i];}
39 const Double_t *GetPosition() const {return fXr;}
40 const Double_t *GetMotherP() const {return fPm;}
41 const Double_t *GetDaughterP() const {return fPdr;}
42 void SetTPCRow0(Int_t row0){fRow0 = row0;}
43 Int_t GetLabel(Int_t i) const {return fLab[i];}
44 void SetLabel(Int_t label, Int_t pos) {fLab[pos]=label;}
45 Int_t GetIndex(Int_t i) const {return fIndex[i];}
46 void SetIndex(Int_t index, Int_t pos){fIndex[pos]=index;}
47 void SetStatus(Char_t status, Int_t pos){fStatus[pos]=status;}
48 Char_t GetStatus(Int_t pos) const {return fStatus[pos];}
49 void SetTPCncls(UChar_t ncls,Int_t pos) {fTPCncls[pos]=ncls;}
50 const UChar_t *GetTPCncls() const {return fTPCncls;}
51 void SetTPCDensity(Float_t dens, Int_t pos0,Int_t pos1){fTPCdensity[pos0][pos1]=dens;}
52 Double_t GetTPCDensity(Int_t pos0,Int_t pos1) const {return fTPCdensity[pos0][pos1];}
53 Double_t GetShapeFactor() const {return fShapeFactor;}
54 void SetShapeFactor(Float_t factor){fShapeFactor = factor;}
55 void SetMultiple(UChar_t mult,Int_t pos){fMultiple[pos]=mult;}
56 const UChar_t * GetMultiple() const {return fMultiple;}
58 const AliExternalTrackParam& RefParamDaughter() {return fParamDaughter;}
59 const AliExternalTrackParam& RefParamMother() {return fParamMother;}
62 AliExternalTrackParam fParamDaughter;
63 AliExternalTrackParam fParamMother;
65 Double32_t fDist1; //info about closest distance according closest MC - linear DCA
66 Double32_t fDist2; //info about closest distance parabolic DCA
68 Double32_t fPdr[3]; //momentum at vertex daughter - according approx at DCA
69 Double32_t fXr[3]; //rec. position according helix
71 Double32_t fPm[3]; //momentum at the vertex mother
72 Double32_t fRr; // rec position of the vertex
74 Double32_t fShapeFactor; // tpc clusters shape factor
75 Double32_t fTPCdensity[2][2]; //[0,1,16]tpc cluster density before and after kink
76 Double32_t fAngle[3]; //[-2*pi,2*pi,16]three angles
78 Int_t fLab[2]; //MC label of the partecle
79 Int_t fIndex[2]; //reconstructed labels of the tracks
81 Short_t fID; // kink ID
83 UChar_t fRow0; // critical pad row number
84 UChar_t fMultiple[2]; //how many times the track's were used
85 UChar_t fTPCncls[2]; //number of clusters for mother particle
87 Char_t fStatus[12]; //status of kink - first 4 mother (ITS,TPC,TRD,TOF) other daughter
90 ClassDef(AliESDkink,4) // ESD V0 vertex