class TTree;
class AliESDkink;
class TTreeSRedirector;
-
+class AliTrackPoint;
class AliTPCtrackerMI : public AliTracker {
public:
virtual Int_t LoadClusters (TTree * tree);
Int_t LoadClusters();
void UnloadClusters();
-
+ void Transform(AliCluster * cluster);
//
void SetIO(); //set default IO from folders
void SetIO(TTree * input, TTree * output, AliESD * event);
Int_t ReadSeeds(const TFile *in);
TObjArray * GetSeeds(){return fSeeds;}
//
- AliCluster * GetCluster (int) const {return 0;}
+ AliCluster * GetCluster(Int_t index) const {return (AliCluster*)GetClusterMI(index);}
AliTPCclusterMI *GetClusterMI(Int_t index) const;
Int_t Clusters2Tracks();
- virtual void CookLabel(AliTPCseed *t,Float_t wrong) const;
+ virtual void CookLabel(AliKalmanTrack *tk,Float_t wrong) const;
virtual Int_t CookLabel(AliTPCseed *t,Float_t wrong, Int_t first,Int_t last ) const;
void RotateToLocal(AliTPCseed *seed);
Int_t FollowProlongation(AliTPCseed& t, Int_t rf=0, Int_t step=1);
Int_t FollowProlongationFast(AliTPCseed& t, Int_t rf=0, Int_t step=1);
-
+ Bool_t GetTrackPoint(Int_t index, AliTrackPoint &p ) const;
+
Int_t FollowBackProlongation(AliTPCseed& t, Int_t rf);
Int_t FollowToNext(AliTPCseed& t, Int_t nr);
Int_t FollowToNextFast(AliTPCseed& t, Int_t nr);
private:
inline AliTPCRow &GetRow(Int_t sec, Int_t row);
+ inline Bool_t IsActive(Int_t sec, Int_t row);
inline Double_t GetXrow(Int_t row) const;
inline Double_t GetMaxY(Int_t row) const;
inline Int_t GetRowNumber(Double_t x) const;
void Tracking(TObjArray * arr);
TObjArray * Tracking(Int_t seedtype, Int_t i1, Int_t i2, Float_t cuts[4], Float_t dy=-1, Int_t dsec=0);
TObjArray * Tracking();
+ TObjArray * TrackingSpecial();
void SumTracks(TObjArray *arr1,TObjArray *arr2) const;
void PrepareForBackProlongation(TObjArray * arr, Float_t fac) const;
void PrepareForProlongation(TObjArray * arr, Float_t fac) const;
return (row>=fInnerSec->GetNRows()) ? fOuterSec[sec][row-fInnerSec->GetNRows()]:fInnerSec[sec][row];
}
+Bool_t AliTPCtrackerMI::IsActive(Int_t sec, Int_t row)
+{
+ //
+ // check if the given sector row is active
+ //
+ return (row>=fInnerSec->GetNRows()) ? fOuterSec[sec][row-fInnerSec->GetNRows()].GetN()>0:fInnerSec[sec][row].GetN()>0;
+}
+
+
Double_t AliTPCtrackerMI::GetXrow(Int_t row) const {
// return (row>=fInnerSec->GetNRows()) ? fOuterSec->GetX(row-fInnerSec->GetNRows()):fInnerSec->GetX(row);
return fXRow[row];