Line data Source code
1 : #ifndef ALIESDKINK_H
2 : #define ALIESDKINK_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: Marian Ivanov marian.ivanov@cern.ch
13 : //-------------------------------------------------------------------------
14 :
15 : #include <TObject.h>
16 : #include "AliExternalTrackParam.h"
17 : #include <TPDGCode.h>
18 :
19 : class AliESDtrack;
20 :
21 2196 : class AliESDkink : public TObject {
22 : public:
23 : AliESDkink(); //constructor
24 : AliESDkink(const AliESDkink &source); //constructor
25 : AliESDkink& operator=(const AliESDkink &source);
26 : virtual void Copy(TObject &obj) const;
27 : //
28 8 : void SetID(Short_t id){fID=id;}
29 0 : 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;
34 : //
35 11120 : Double_t GetR() const {return fRr;}
36 32 : Double_t GetDistance() const {return fDist2;}
37 2600 : UChar_t GetTPCRow0() const {return fRow0;}
38 5776 : Double_t GetAngle(Int_t i) const {return fAngle[i];}
39 72 : const Double_t *GetPosition() const {return fXr;}
40 48 : const Double_t *GetMotherP() const {return fPm;}
41 16 : const Double_t *GetDaughterP() const {return fPdr;}
42 24 : void SetTPCRow0(Int_t row0){fRow0 = row0;}
43 48 : Int_t GetLabel(Int_t i) const {return fLab[i];}
44 64 : void SetLabel(Int_t label, Int_t pos) {fLab[pos]=label;}
45 0 : Int_t GetIndex(Int_t i) const {return fIndex[i];}
46 80 : void SetIndex(Int_t index, Int_t pos){fIndex[pos]=index;}
47 24 : void SetStatus(Char_t status, Int_t pos){fStatus[pos]=status;}
48 0 : Char_t GetStatus(Int_t pos) const {return fStatus[pos];}
49 48 : void SetTPCncls(UChar_t ncls,Int_t pos) {fTPCncls[pos]=ncls;}
50 0 : const UChar_t *GetTPCncls() const {return fTPCncls;}
51 96 : void SetTPCDensity(Float_t dens, Int_t pos0,Int_t pos1){fTPCdensity[pos0][pos1]=dens;}
52 0 : Double_t GetTPCDensity(Int_t pos0,Int_t pos1) const {return fTPCdensity[pos0][pos1];}
53 0 : Double_t GetShapeFactor() const {return fShapeFactor;}
54 0 : void SetShapeFactor(Float_t factor){fShapeFactor = factor;}
55 0 : void SetMultiple(UChar_t mult,Int_t pos){fMultiple[pos]=mult;}
56 0 : const UChar_t * GetMultiple() const {return fMultiple;}
57 : //
58 0 : const AliExternalTrackParam& RefParamDaughter() {return fParamDaughter;}
59 0 : const AliExternalTrackParam& RefParamMother() {return fParamMother;}
60 : protected:
61 :
62 : AliExternalTrackParam fParamDaughter;
63 : AliExternalTrackParam fParamMother;
64 :
65 : Double32_t fDist1; //info about closest distance according closest MC - linear DCA
66 : Double32_t fDist2; //info about closest distance parabolic DCA
67 : //
68 : Double32_t fPdr[3]; //momentum at vertex daughter - according approx at DCA
69 : Double32_t fXr[3]; //rec. position according helix
70 : //
71 : Double32_t fPm[3]; //momentum at the vertex mother
72 : Double32_t fRr; // rec position of the vertex
73 :
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
77 :
78 : Int_t fLab[2]; //MC label of the partecle
79 : Int_t fIndex[2]; //reconstructed labels of the tracks
80 :
81 : Short_t fID; // kink ID
82 :
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
86 :
87 : Char_t fStatus[12]; //status of kink - first 4 mother (ITS,TPC,TRD,TOF) other daughter
88 :
89 :
90 180 : ClassDef(AliESDkink, 5) // ESD V0 vertex
91 : };
92 :
93 : #endif
94 :
95 :
|