Adding track references at decay points (M.Ivanov)
[u/mrichter/AliRoot.git] / STEER / AliBarrelTrack.cxx
1
2 ////////////////////////////////////////////////////////////////////////////////
3 //
4 // AliBarrelTrack is a snapshot of the TPC or TRD track.
5 // The barrel track is stored by tracker every time a track is crossing 
6 // reference plane.
7 //  
8 // Barrel track have
9 // - state vactor in "external represenantion"
10 // - diagonal elements of covariance matric
11 // - auxiliary paramrters: 
12 //   chi2, number of clusters, number of sector srossed
13 // - methods to compare with track references
14 //
15 // Barrel track can be directly compared with AliTrackReferences,
16 // TPC and TRD tracks can be compared using the same macro.
17 //
18 // S. Radomski, [GSI] mail: S.Radomski@gsi.de
19 // 07.04.2003
20 // 
21 ////////////////////////////////////////////////////////////////////////////////
22
23 #include "AliBarrelTrack.h"
24
25 ClassImp(AliBarrelTrack)
26
27 ////////////////////////////////////////////////////////////////////////////////
28
29 AliBarrelTrack:: AliBarrelTrack() : TObject() {
30   //
31   // Standard constructor 
32   // reset all data-members
33   //
34
35   fLabel = fRefPlane = fIsIn = 0;
36   fX =  fAlpha = 0.0;
37   fZ = fY = fTgLambda = fSnPhi = f1Pt = 0.0;
38
39   for(Int_t i=0; i<5; i++)  fTimeHypothesis[i] = 0;
40  
41   fLength = 0.0;
42   fNClusters = fNWrong = fNRotate = 0;
43   fChi2 = 0.0; 
44   fMass = fdEdX = 0;
45
46   fCy = fCz = fCtg = fCpt = fCphi = 0.0;
47 }
48
49 ////////////////////////////////////////////////////////////////////////////////
50
51 void AliBarrelTrack::SetLabel(Int_t label) {
52   //
53   // Sets the label
54   //
55
56   fLabel = label;  
57 }
58
59 ////////////////////////////////////////////////////////////////////////////////
60
61 void AliBarrelTrack::SetX(Double_t x, Double_t alpha) {
62   //
63   
64   fX = x;
65   fAlpha = alpha;
66 }
67
68 ////////////////////////////////////////////////////////////////////////////////
69
70 void AliBarrelTrack::SetRefPlane(Int_t nRefPlane, Int_t isIn) {
71   
72   fRefPlane = nRefPlane;
73   fIsIn = isIn;
74 }
75
76 ////////////////////////////////////////////////////////////////////////////////
77
78 void AliBarrelTrack::SetNClusters(Int_t nClusters, Double_t chi2) {
79
80   fNClusters = nClusters;
81   fChi2 = chi2;
82 }
83
84 ////////////////////////////////////////////////////////////////////////////////
85
86 void AliBarrelTrack::SetTime(Double_t time[5], Double_t length) {
87
88   for(Int_t i=0; i<5; i++)
89     fTimeHypothesis[i] = time[i];
90
91   fLength = length;
92 }
93
94 ////////////////////////////////////////////////////////////////////////////////
95
96 void AliBarrelTrack::SetStateVector(Double_t vec[5]) {
97   //
98   // Set State Vector from external representation
99   //
100
101
102   fY = vec[0];
103   fZ = vec[1];
104   fTgLambda = vec[3];
105   fSnPhi = vec[2]; 
106   f1Pt = vec[4];
107 }
108
109 ////////////////////////////////////////////////////////////////////////////////
110
111 void AliBarrelTrack::SetCovarianceMatrix(Double_t vec[15]) {
112   //
113   // Set Covariance Matrix from external represenatation
114   // 
115
116   fCy   = vec[0];
117   fCz   = vec[2];
118   fCtg  = vec[9];
119   fCphi = vec[5];
120   fCpt  = vec[14];
121 }
122
123 ////////////////////////////////////////////////////////////////////////////////