]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSTrackerV1.h
Updated version of tracking V1 from Angela e Giuseppe
[u/mrichter/AliRoot.git] / ITS / AliITSTrackerV1.h
CommitLineData
04b80329 1//Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2//See cxx source for full Copyright notice */
3//
4//The purpose of this class is to permorm the ITS tracking.
5//
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 number, the minimum and maximum
8//order number of TPC tracks that are to be tracked trough the ITS, and the file where the recpoints are
9//registered.
10//
11//The method AliiTStracking is a recursive function that performs the tracking trough the ITS
12//
13//The method Intersection found the layer, ladder and detector whre the intersection take place and caluclate
14//the cohordinates of this intersection. It returns an integer that is 0 if the intersection has been found
15//successfully.
16//
17//The two mwthods Kalmanfilter and kalmanfiltervert operate the kalmanfilter without and with the vertex
18//imposition respectively.
19
13888096 20#ifndef ALIITSTRACKERV1_H
21#define ALIITSTRACKERV1_H
22
04b80329 23#include <TObject.h>
13888096 24
04b80329 25class AliITS;
26class TObjArray;
27class TVector;
28class TMatrix;
29class AliITSTrackV1;
13888096 30class AliITS;
31class AliITSRad;
04b80329 32class AliITSgeoinfo;
cbcfa38d 33class TStopwatch;
13888096 34
35class AliITSTrackerV1 : public TObject {
36
37 public:
38
04b80329 39 AliITSTrackerV1(AliITS* IITTSS, Bool_t flag);
40
41 AliITSTrackerV1(const AliITSTrackerV1 &cobj);
cbcfa38d 42
43 ~AliITSTrackerV1();
04b80329 44
45 AliITSTrackerV1 &operator=(AliITSTrackerV1 obj);
46
47 void DoTracking(Int_t evNumber, Int_t minTr, Int_t maxTr, TFile *file);
48
49 void RecursiveTracking(TList *trackITSlist);
cbcfa38d 50
51 Int_t Intersection(AliITSTrackV1 &track, Int_t layer, Int_t &ladder, Int_t &detector);
04b80329 52 void KalmanFilter(AliITSTrackV1 *newtrack, TVector &cluster, Double_t sigma[2]);
53
54 void KalmanFilterVert(AliITSTrackV1 *newtrack, TVector &cluster, Double_t sigma[2]);
13888096 55
56 private:
57
04b80329 58 AliITS* fITS; // pointer to AliITS
59 AliITSTrackV1 *fresult; // result is a pointer to the final best track
60 Double_t fPtref; // transvers momentum obtained from TPC tracking
61 TObjArray *frecPoints; // pointer to RecPoints
62 Int_t **fvettid; // flag vector of used clusters
63 Bool_t fflagvert; // a flag to impose or not the vertex constraint
64 AliITSRad *frl; // pointer to get the radiation lenght matrix
65
66 Int_t fNlad[6]; // Number of ladders for a given layer
67 Int_t fNdet[6]; // Number of detector for a given layer
cbcfa38d 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
13888096 71
cbcfa38d 72 Double_t **fzmin; // Matrix of zmin for a given layer and a given detector
73 Double_t **fzmax; // Matrix of zmax for a given layer and a given detector
74
75 Double_t **fphimin; // Matrix of phimin for a given layer and a given ladder
76 Double_t **fphimax; // Matrix of phimax for a given layer and a given ladder
77
78 Double_t **fphidet; // azimuthal angle for a given layer and a given ladder
79
80 Double_t fFieldFactor; // Magnetic filed factor
81
82 //TStopwatch *fTimerKalman; // timer for kalman filter
83 //TStopwatch *fTimerIntersection; // timer for Intersection
a3894645 84
13888096 85 ClassDef(AliITSTrackerV1,1)
86};
87
88#endif