]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TRD/AliHLTTRDTrack.cxx
compilation warnings about unused parameters corrected
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDTrack.cxx
1 #include "AliHLTTRDTrack.h"
2 #include "AliHLTTRDTracklet.h"
3
4
5 /**
6  * Default Constructor
7  */
8 //============================================================================
9 AliHLTTRDTrack::AliHLTTRDTrack():
10   fDE(-1),
11   fFakeRatio(-1),
12   fChi2(-1),
13   // fMass(-1),
14   fN(-1),
15   fIntegratedLength(-1),
16   fX(-1),
17   fAlpha(-1),
18   fSize(sizeof(AliHLTTRDTrack)),
19   fBits(0)
20 {
21   InitArrays();
22   // not to be used
23 }
24
25 /**
26  * Constructor
27  * Creates hltTrack from TRDtrackV1
28  */
29 //============================================================================
30 AliHLTTRDTrack::AliHLTTRDTrack(const AliTRDtrackV1* const inTrack):
31   fDE(inTrack->fDE),
32   fFakeRatio(inTrack->fFakeRatio),
33   fChi2(inTrack->fChi2),
34   // fMass(inTrack->fMass),
35   fN(inTrack->fN),
36   fIntegratedLength(inTrack->GetIntegratedLength()),
37   fX(inTrack->GetX()),
38   fAlpha(inTrack->GetAlpha()),
39   fSize(sizeof(AliHLTTRDTrack)),
40   fBits(0)
41 {
42   CopyDataMembers(inTrack);
43 }
44
45 /**
46  * Default Destructor
47  * In principle should not be empty, but... we do not use it
48  */
49 //============================================================================
50 AliHLTTRDTrack::~AliHLTTRDTrack()
51 {
52   
53 }
54
55 /**
56  * Copy data members (except tracklets) from TRDtrackV1 to HLTTRDTrack.
57  */
58 //============================================================================
59 void AliHLTTRDTrack::CopyDataMembers(const AliTRDtrackV1* const inTrack)
60 {
61   for(Int_t i = 0; i < AliPID::kSPECIES; i++)
62     {
63       fPID[i] = inTrack->fPID[i];
64     }
65   
66   for (Int_t i = 0; i < 3; i++)
67     {
68       fBudget[i] = inTrack->fBudget[i];
69     }
70   
71   const Double_t* const Ptemp = inTrack->GetParameter();
72   for (Int_t i = 0; i < 5; i++)
73     {
74       fP[i] = Ptemp[i];
75     }
76
77   const Double_t* const Ctemp = inTrack->GetCovariance();
78   for (Int_t i = 0; i < 15; i++)
79     {
80       fC[i] = Ctemp[i];
81     }
82
83   UInt_t mask = inTrack->TestBits(-1);
84   fBits = mask >> 14;
85
86   for (Int_t iTracklet = 0; iTracklet < AliTRDtrackV1::kNplane; iTracklet++)
87     {
88       AliTRDseedV1* trdTracklet = inTrack->GetTracklet(iTracklet);
89       if (trdTracklet){
90         AliHLTTRDTracklet* hltTracklet = new (GetEndPointer()) AliHLTTRDTracklet(trdTracklet);
91         fSize += hltTracklet->GetSize();
92         fTrackletAtPlane[iTracklet] = kTRUE;
93       }
94       else fTrackletAtPlane[iTracklet] = kFALSE;
95     }
96 }
97
98 /**
99  * Copy data to the output TRDtrackV1
100  */
101 //============================================================================
102 void AliHLTTRDTrack::ExportTRDTrack(AliTRDtrackV1* const outTrack) const
103 {
104   //outTrack->Reset(); we always use a new fresh trdtrack as input, so this is useless
105   outTrack->SetBit(AliTRDtrackV1::kOwner);  
106
107   outTrack->fDE=fDE;
108   outTrack->fFakeRatio=fFakeRatio;
109   outTrack->fChi2=fChi2;
110   // outTrack->fMass=fMass;
111   outTrack->fN=fN;
112   outTrack->SetIntegratedLength(fIntegratedLength);
113   outTrack->Set(fX, fAlpha, fP, fC);
114
115   for(Int_t i = 0; i < AliPID::kSPECIES; i++)
116     {
117       outTrack->fPID[i] = fPID[i];
118     }
119   for (Int_t i = 0; i < 3; i++)
120     {
121       outTrack->fBudget[i]=fBudget[i];
122     }
123
124   outTrack->SetBit(UInt_t(fBits)<<14);
125
126   AliHLTUInt8_t *iterPtr = (AliHLTUInt8_t*)this+sizeof(*this);
127   AliHLTTRDTracklet* hltTracklet;
128   
129   for (Int_t iTracklet = 0; iTracklet < AliTRDtrackV1::kNplane; iTracklet++){
130     if (fTrackletAtPlane[iTracklet]){
131       AliTRDseedV1* trdTracklet = new AliTRDseedV1();
132       hltTracklet = (AliHLTTRDTracklet*) iterPtr;
133       hltTracklet->ExportTRDTracklet(trdTracklet);
134       outTrack->SetTracklet(trdTracklet,iTracklet);
135       iterPtr += hltTracklet->GetSize();
136     }
137   }
138
139 }
140   
141
142 /**
143  * Init of arrays
144  */
145 //============================================================================
146 void AliHLTTRDTrack::InitArrays()
147 {
148   for(Int_t i = 0; i < AliTRDtrackV1::kNplane; i++){
149     fTrackletAtPlane[i]=kFALSE;
150   }
151
152   for(Int_t i = 0; i < AliPID::kSPECIES; i++)
153     {
154       fPID[i] = -1;
155     }
156   
157   for (Int_t i = 0; i < 3; i++)
158     {
159       fBudget[i] = -1;
160     }
161   for (Int_t i = 0; i < 5; i++)
162     {
163       fP[i] = -1;
164     }
165   for (Int_t i = 0; i < 15; i++)
166     {
167       fC[i] = -1;
168     }
169 }
170
171 /**
172  * Print main values for HLTTrack
173  */
174 //============================================================================
175 void AliHLTTRDTrack::Print(Bool_t printTracklets) const
176 {
177   printf("--hltTrack-- addr %p; fSize %i\n", this, fSize);
178   printf("   fX = %f; fAlpha = %f\n", fX, fAlpha);
179   printf("   ");
180   
181   for(Int_t i = 0; i < AliPID::kSPECIES; i++)
182     {
183       printf("fPID[%i] = %f; ",i, fPID[i]);
184     }
185   printf("\n   ");
186   
187   for (Int_t i = 0; i < 3; i++)
188     {
189       printf("fBudget[%i] = %f; ",i, fBudget[i]);
190     }
191   printf("\n");
192
193   if (printTracklets)
194     {
195       AliHLTUInt8_t *iterPtr = (AliHLTUInt8_t*)this+sizeof(*this);
196       AliHLTTRDTracklet* hltTracklet;
197
198       for (Int_t i = 0; i < AliTRDtrackV1::kNplane; i++){
199         if (fTrackletAtPlane[i]){
200           printf("[%i]",i);
201           hltTracklet = (AliHLTTRDTracklet*) iterPtr;
202           hltTracklet->Print();
203           iterPtr += hltTracklet->GetSize();
204         }
205         else
206           printf(" NULL ");
207       }
208     }
209
210   printf("\n");
211 }
212
213 /**
214  * Read tracklets from the memory. 
215  * Number of tracklets should be already known
216  */
217 //============================================================================
218 // void AliHLTTRDTrack::ReadTrackletsFromMemory(void* input)
219 // {
220 //   AliHLTUInt8_t *iterPtr = (AliHLTUInt8_t*) input;
221 //   AliHLTTRDTracklet* hltTracklet = NULL;
222   
223 //   for (Int_t iTracklet = 0; iTracklet < AliTRDtrackV1::kNplane; iTracklet++){
224 //     if (fTracklet[iTracklet]){
225 //       hltTracklet = (AliHLTTRDTracklet*) iterPtr;
226 //       //hltTracklet->ReadClustersFromMemory(iterPtr+sizeof(AliHLTTRDTracklet));
227 //       fTracklet[iTracklet] = hltTracklet;
228 //       iterPtr += hltTracklet->GetSize();
229 //       //hltTracklet->Print(kFALSE);
230 //     }
231 //   }
232 // }
233