]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSTrackerV1.h
Minor changes to remove compliation warning on gcc 2.92.2 compiler, and
[u/mrichter/AliRoot.git] / ITS / AliITSTrackerV1.h
CommitLineData
b48af428 1//Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved.
2//See cxx source for full Copyright notice
04b80329 3//
4//The purpose of this class is to permorm the ITS tracking.
5//
b48af428 6// The constructor has the task to inizialize some private members.
7// The method DoTracking is written to be called by a macro. It gets the event
8// number, the minimum and maximum order number of TPC tracks that are to be
9// tracked trough the ITS, and the file where the recpoints are registered.
04b80329 10//
b48af428 11// The method AliiTStracking is a recursive function that performs the
12// tracking trough the ITS
04b80329 13//
b48af428 14// The method Intersection found the layer, ladder and detector where the
15// intersection take place and caluclate the cohordinates of this
16// intersection. It returns an integer that is 0 if the intersection has
17// been found successfully.
04b80329 18//
b48af428 19// The two mwthods Kalmanfilter and kalmanfiltervert operate the
20// kalmanfilter without and with the verteximposition respectively.
04b80329 21
13888096 22#ifndef ALIITSTRACKERV1_H
23#define ALIITSTRACKERV1_H
24
04b80329 25#include <TObject.h>
13888096 26
04b80329 27class AliITS;
28class TObjArray;
29class TVector;
30class TMatrix;
31class AliITSTrackV1;
13888096 32class AliITS;
33class AliITSRad;
04b80329 34class AliITSgeoinfo;
cbcfa38d 35class TStopwatch;
13888096 36
37class AliITSTrackerV1 : public TObject {
b48af428 38 public:
39 AliITSTrackerV1(AliITS* IITTSS, Bool_t flag);
40 AliITSTrackerV1(const AliITSTrackerV1 &cobj);
41 ~AliITSTrackerV1();
04b80329 42 AliITSTrackerV1 &operator=(AliITSTrackerV1 obj);
b48af428 43 void DoTracking(Int_t evNumber, Int_t minTr, Int_t maxTr, TFile *file);
44 void RecursiveTracking(TList *trackITSlist);
45 Int_t Intersection(AliITSTrackV1 &track, Int_t layer,Int_t &ladder,
46 Int_t &detector);
47 void KalmanFilter(AliITSTrackV1 *newtrack, TVector &cluster,
48 Double_t sigma[2]);
49 void KalmanFilterVert(AliITSTrackV1 *newtrack, TVector &cluster,
50 Double_t sigma[2]);
51 //void KalmanFilterVert(AliITSTrackV1 *newtrack, TVector &cluster,
52 // Double_t sigma[2], Double_t chi2pred);
53
54 private:
55 AliITS* fITS; //! pointer to AliITS
56 AliITSTrackV1 *fresult; // result is a pointer to the final best track
57 Double_t fPtref; // transvers momentum obtained from TPC tracking
58 Double_t fChi2max; // cluster with chi2>chi2max are cut. It is
59 // pt dependend. aggiunto il 31-7-2001
60 Double_t fepsphi; //eps for definition window in phi aggiunto il 1-8-2001
61 Double_t fepsz; //eps for definition window in z aggiunto il 1-8-2001
62 TObjArray *frecPoints; // pointer to RecPoints
63 Int_t **fvettid; // flag vector of used clusters
64 Bool_t fflagvert; // a flag to impose or not the vertex constraint
65 AliITSRad *frl; // pointer to get the radiation lenght matrix
66 Int_t fNlad[6]; // Number of ladders for a given layer
67 Int_t fNdet[6]; // Number of detector for a given layer
68 Double_t fAvrad[6]; // Average radius for a given layer
69 Double_t fDetx[6];// Semidimension of detectors along x axis for a given layer
70 Double_t fDetz[6];// Semidimension of detectors along z axis for a given layer
71 Double_t **fzmin;// Matrix of zmin for a given layer and a given detector
72 Double_t **fzmax;// Matrix of zmax for a given layer and a given detector
73 Double_t **fphimin;// Matrix of phimin for a given layer and a given ladder
74 Double_t **fphimax;// Matrix of phimax for a given layer and a given ladder
75 Double_t **fphidet; // azimuthal angle for a given layer and a given ladder
76 Double_t fFieldFactor; // Magnetic filed factor
77 //TStopwatch *fTimerKalman; // timer for kalman filter
78 //TStopwatch *fTimerIntersection; // timer for Intersection
13888096 79
b48af428 80 ClassDef(AliITSTrackerV1,1) //????
13888096 81};
82
83#endif