#include "AliTRDtracklet.h"
+#ifndef ALITRDSEEDV1_H
+#include "AliTRDseedV1.h"
+#endif
+
class AliESDtrack;
class AliTrackReference;
class AliTRDcluster;
-
class AliTRDtrack : public AliKalmanTrack {
public:
, 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);
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; }
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