037352fea5cf4385a7595e905e4cbc7a8834d7a7
[u/mrichter/AliRoot.git] / TPC / AliTPCtrackerParam.h
1 #ifndef ALITPCTRACKERPARAM_H
2 #define ALITPCTRACKERPARAM_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. */
4 /* See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8
9 //-----------------------------------------------------------------------------
10 //                    TPC Tracking Parameterization Class
11 //
12 //   Origin: Andrea Dainese, Padova - e-mail: andrea.dainese@pd.infn.it
13 //-----------------------------------------------------------------------------
14 #include "alles.h"
15 #include "AliMagF.h"
16 #include "AliGausCorr.h"
17 #include "AliTPCtrack.h"
18
19 class AliTPCtrackerParam {
20  public:
21   AliTPCtrackerParam(const Int_t coll=0,const Double_t Bz=0.4);
22   virtual ~AliTPCtrackerParam();
23
24
25   Int_t BuildTPCtracks(const TFile *inp, TFile *out,Int_t n=1);
26
27  private:
28   Int_t    fColl; // collision code (0: PbPb6000)
29   Double_t fBz;   // value of the z component of L3 field (Tesla)
30  
31   
32   AliTPCtrack* BuildTrack(Double_t alpha,Double_t x,Double_t y,Double_t z,
33                           Double_t px,Double_t py,Double_t pz,Double_t pt,
34                           Int_t ch,Int_t lab) const ;
35   
36   Bool_t SelectedTrack(Int_t pdg, Double_t pt, Double_t eta) const;
37   
38   Int_t GetBin(Double_t pt,Double_t eta) const;
39   
40   TMatrixD GetSmearingMatrix(Double_t* cc, Double_t pt,Double_t eta) const;
41   
42   void SmearTrack(Double_t* xx,Double_t* xxsm,TMatrixD cov) const;
43
44   Double_t LinearInterpolation(Int_t ptBins,Double_t *value,Double_t pt,Double_t eta) const;
45   
46   void CookTracks(TObjArray& tarray,TObjArray& newtarray) const;
47   
48   
49   ClassDef(AliTPCtrackerParam,1) // TPC tracking parameterization class
50 };
51
52 #endif
53
54