]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCtrackerMI.h
Proper initialization of all the data members
[u/mrichter/AliRoot.git] / TPC / AliTPCtrackerMI.h
index 53836a25209bb915bc2197073be93ecbbf5dde55..2b9c347337b66ba7051977e13ed4d2e9c23840e4 100644 (file)
@@ -28,7 +28,7 @@ class AliESD;
 class TTree;
 class AliESDkink;
 class TTreeSRedirector;
-
+class AliTrackPoint;
 
 class AliTPCtrackerMI : public AliTracker {
 public:
@@ -46,7 +46,7 @@ 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);
@@ -64,10 +64,10 @@ public:
    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);
@@ -75,7 +75,8 @@ public:
    
    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);
@@ -194,6 +195,7 @@ private:
 
 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;
@@ -229,6 +231,7 @@ private:
    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;
@@ -272,6 +275,15 @@ AliTPCtrackerMI::AliTPCRow & AliTPCtrackerMI::GetRow(Int_t sec, Int_t row)
   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];