]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDtrack.h
Updated tracking code by Alexandru und Markus
[u/mrichter/AliRoot.git] / TRD / AliTRDtrack.h
index c705f28bf9eb5d781d1df501cdaac937fb68b0fb..102706d1e06329a9f2347d298e2fa1e9dd0074c5 100644 (file)
 
 #include "AliTRDtracklet.h"
 
+#ifndef ALITRDSEEDV1_H
+#include "AliTRDseedV1.h"
+#endif
+
 class AliESDtrack;
 class AliTrackReference;
 class AliTRDcluster;
-
 class AliTRDtrack : public AliKalmanTrack {
 
  public:
@@ -44,7 +47,7 @@ class AliTRDtrack : public AliKalmanTrack {
                    , Double_t xr, Double_t alpha);
          AliTRDtrack(const AliTRDtrack &t/*, const Bool_t owner = kTRUE*/);    
          AliTRDtrack(const AliESDtrack &t);
-        ~AliTRDtrack();
+         virtual ~AliTRDtrack();
          AliTRDtrack(const AliKalmanTrack &t, Double_t alpha); 
 
          void            ResetClusters()                              { SetChi2(0.0); 
@@ -87,6 +90,11 @@ class AliTRDtrack : public AliKalmanTrack {
          Float_t         GetBudget(Int_t i) const                     { return fBudget[i];                   }
          Float_t         GetChi2Last() const                          { return fChi2Last;                    }
          AliTRDtrack    *GetBackupTrack()                             { return fBackupTrack;                 }
+         // dummy to bridge the function in AliTRDtrackV1
+                                       //Int_t          GetNumberOfClusters() const {printf("AliTRDtrack::GetNumberOfClusters()\n"); return AliKalmanTrack::GetNumberOfClusters();}
+                               inline virtual Int_t GetNumberOfTracklets() const ;
+                               virtual Int_t GetTrackletIndex(Int_t plane) const             {return plane>=0 && plane<6 ? fTrackletIndex[plane] : -1;} 
+
 
          void            SetdEdx(Double_t dedx)                       { fdEdx                      = dedx;   }
          void            SetStop(Bool_t stop)                         { fStopped                   = stop;   }
@@ -188,9 +196,21 @@ class AliTRDtrack : public AliKalmanTrack {
   AliTRDtracklet  fTracklets[6];                      //  Tracklets
          Float_t  fBudget[3];                         //  Integrated material budget
   AliTRDtrack    *fBackupTrack;                       //! Backup track
+       
+       Int_t           fTrackletIndex[6]; // tracklets index in the tracker list
+       AliTRDseedV1    fTracklet[6];      // tracklets array defining the track
 
   ClassDef(AliTRDtrack,9)                             //  TRD reconstructed tracks
 
 };                     
 
+//___________________________________________________________
+inline Int_t AliTRDtrack::GetNumberOfTracklets() const
+{
+       Int_t ntrklt = 0;
+       for(int ip=0; ip<6; ip++) if(fTrackletIndex[ip] >= 0) ntrklt++;
+       return ntrklt;
+}
+
+
 #endif