add common abstract interface classes for flat and fat ESDs
[u/mrichter/AliRoot.git] / STEER / ESD / AliESDkink.h
CommitLineData
51ad6848 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>
50ff8c36 18#include "AliVVkink.h"
51ad6848 19
20class AliESDtrack;
21
50ff8c36 22class AliESDkink : public TObject, public AliVVkink {
51ad6848 23public:
24 AliESDkink(); //constructor
562dd0b4 25 AliESDkink(const AliESDkink &source); //constructor
26 AliESDkink& operator=(const AliESDkink &source);
732a24fe 27 virtual void Copy(TObject &obj) const;
51ad6848 28 //
562dd0b4 29 void SetID(Short_t id){fID=id;}
30 Short_t GetID(){return fID;}
51ad6848 31 void SetMother(const AliExternalTrackParam & pmother);
32 void SetDaughter(const AliExternalTrackParam & pdaughter);
562dd0b4 33 Double_t GetTPCDensityFactor() const;
51ad6848 34 Float_t GetQt() const;
7c97ee80 35 //
562dd0b4 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];}
7c97ee80 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;}
562dd0b4 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;}
7c97ee80 52 void SetTPCDensity(Float_t dens, Int_t pos0,Int_t pos1){fTPCdensity[pos0][pos1]=dens;}
562dd0b4 53 Double_t GetTPCDensity(Int_t pos0,Int_t pos1) const {return fTPCdensity[pos0][pos1];}
54 Double_t GetShapeFactor() const {return fShapeFactor;}
7c97ee80 55 void SetShapeFactor(Float_t factor){fShapeFactor = factor;}
562dd0b4 56 void SetMultiple(UChar_t mult,Int_t pos){fMultiple[pos]=mult;}
57 const UChar_t * GetMultiple() const {return fMultiple;}
51ad6848 58 //
fb37d34d 59 const AliExternalTrackParam& RefParamDaughter() {return fParamDaughter;}
60 const AliExternalTrackParam& RefParamMother() {return fParamMother;}
7c97ee80 61 protected:
562dd0b4 62
51ad6848 63 AliExternalTrackParam fParamDaughter;
64 AliExternalTrackParam fParamMother;
562dd0b4 65
61402fa9 66 Double32_t fDist1; //info about closest distance according closest MC - linear DCA
67 Double32_t fDist2; //info about closest distance parabolic DCA
51ad6848 68 //
61402fa9 69 Double32_t fPdr[3]; //momentum at vertex daughter - according approx at DCA
70 Double32_t fXr[3]; //rec. position according helix
51ad6848 71 //
61402fa9 72 Double32_t fPm[3]; //momentum at the vertex mother
61402fa9 73 Double32_t fRr; // rec position of the vertex
562dd0b4 74
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
78
79 Int_t fLab[2]; //MC label of the partecle
80 Int_t fIndex[2]; //reconstructed labels of the tracks
81
82 Short_t fID; // kink ID
83
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
87
88 Char_t fStatus[12]; //status of kink - first 4 mother (ITS,TPC,TRD,TOF) other daughter
89
90
91 ClassDef(AliESDkink,4) // ESD V0 vertex
51ad6848 92};
93
94#endif
95
96