Automatic treatment of the magnetic field value
[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;
13888096 33
34class AliITSTrackerV1 : public TObject {
35
36 public:
37
04b80329 38 AliITSTrackerV1(AliITS* IITTSS, Bool_t flag);
39
40 AliITSTrackerV1(const AliITSTrackerV1 &cobj);
41
42 AliITSTrackerV1 &operator=(AliITSTrackerV1 obj);
43
44 void DoTracking(Int_t evNumber, Int_t minTr, Int_t maxTr, TFile *file);
45
46 void RecursiveTracking(TList *trackITSlist);
13888096 47
04b80329 48 Int_t Intersection(AliITSTrackV1 &track, Double_t rk,Int_t layer, Int_t &ladder, Int_t &detector);
13888096 49
04b80329 50 void KalmanFilter(AliITSTrackV1 *newtrack, TVector &cluster, Double_t sigma[2]);
51
52 void KalmanFilterVert(AliITSTrackV1 *newtrack, TVector &cluster, Double_t sigma[2]);
13888096 53
54 private:
55
04b80329 56 AliITS* fITS; // pointer to AliITS
57 AliITSTrackV1 *fresult; // result is a pointer to the final best track
58 Double_t fPtref; // transvers momentum obtained from TPC tracking
59 TObjArray *frecPoints; // pointer to RecPoints
60 Int_t **fvettid; // flag vector of used clusters
61 Bool_t fflagvert; // a flag to impose or not the vertex constraint
62 AliITSRad *frl; // pointer to get the radiation lenght matrix
63
64 Int_t fNlad[6]; // Number of ladders for a given layer
65 Int_t fNdet[6]; // Number of detector for a given layer
66 Float_t fAvrad[6]; // Average radius for a given layer
67 Float_t fDetx[6]; // Semidimension of detectors along x axis for a given layer
68 Float_t fDetz[6]; // Semidimension of detectors along z axis for a given layer
13888096 69
a3894645 70 Double_t fFieldFactor; // Magnetic filed factor
71
13888096 72
73 ClassDef(AliITSTrackerV1,1)
74};
75
76#endif