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