]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliESDkink.h
bug fixed for alignment, removed alignment database access from AliPMDUtility class
[u/mrichter/AliRoot.git] / STEER / AliESDkink.h
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 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   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;    
34   //
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;}
57   //  
58   const AliExternalTrackParam& RefParamDaughter() {return fParamDaughter;}
59   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   ClassDef(AliESDkink,4)      // ESD V0 vertex
91 };
92
93 #endif
94
95