fTrackletIndex[plane] = index;
}
+//_______________________________________________________________
+void AliTRDtrackV1::UnsetTracklet(Int_t plane)
+{
+ if(plane<0 && plane >= kNplane) return;
+ fTrackletIndex[plane] = 0xffff;
+ fTracklet[plane] = 0x0;
+}
+
+
//_______________________________________________________________
Bool_t AliTRDtrackV1::Update(AliTRDseedV1 *trklt, Double_t chisq)
{
void SetTracklet(AliTRDseedV1 *trklt, Int_t index);
inline void SetReconstructor(const AliTRDReconstructor *rec);
inline Float_t StatusForTOF();
+ void UnsetTracklet(Int_t plane);
Bool_t Update(AliTRDseedV1 *tracklet, Double_t chi2);
//Bool_t Update(const AliTRDcluster *c, Double_t chi2, Int_t index, Double_t h01){ return AliTRDtrack::Update(c,chi2,index,h01); };
Bool_t Update(const AliCluster *, Double_t, Int_t) { return kFALSE; };
AliTRDtrackingChamber *chamber = 0x0;
AliTRDseedV1 tracklet, *ptrTracklet = 0x0;
+ // in case of stand alone tracking we store all the pointers to the tracklets in a temporary array
+ AliTRDseedV1 *tracklets[kNPlanes];
+ memset(tracklets, 0, sizeof(AliTRDseedV1 *) * kNPlanes);
+ for(Int_t ip = 0; ip < kNPlanes; ip++){
+ tracklets[ip] = t.GetTracklet(ip);
+ t.UnsetTracklet(ip);
+ }
// Loop through the TRD layers
for (Int_t ilayer = 0; ilayer < AliTRDgeometry::Nlayer(); ilayer++) {
// BUILD TRACKLET IF NOT ALREADY BUILT
Double_t x = 0., y, z, alpha;
- ptrTracklet = t.GetTracklet(ilayer);
+ ptrTracklet = tracklets[ilayer];
if(!ptrTracklet){
ptrTracklet = new(&tracklet) AliTRDseedV1(ilayer);
ptrTracklet->SetReconstructor(fReconstructor);