]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCtracker.h
Corrections in the detector response function (Yu.Belikov)
[u/mrichter/AliRoot.git] / TPC / AliTPCtracker.h
index 572117af98dab900373a58660ee342fcf5f25c58..b2891e0628744812d228683f641f05450a095904 100644 (file)
 #include "AliTPCtrack.h"
 #include "AliTPCreco.h"
 #include "AliTPCcluster.h"
+#include "AliBarrelTrack.h"
 
 class TFile;
+class TTree;
+class TBranch;
 class AliTPCParam;
 class TObjArray;
+class TClonesArray;
+class AliESD;
 
 class AliTPCtracker : public AliTracker {
 public:
@@ -30,12 +35,13 @@ public:
 
    Int_t ReadSeeds(const TFile *in);
 
-   void LoadClusters();
+   Int_t LoadClusters(TTree *c);
    void UnloadClusters();
 
    AliCluster *GetCluster(Int_t index) const;
-   Int_t Clusters2Tracks(const TFile *in, TFile *out);
-   Int_t PropagateBack(const TFile *in, TFile *out);
+   Int_t Clusters2Tracks(AliESD *event);
+   Int_t PropagateBack(AliESD *event);
+   Int_t RefitInward(AliESD *event);
 
    virtual void  CookLabel(AliKalmanTrack *t,Float_t wrong) const; 
 
@@ -50,10 +56,11 @@ public:
      }
      ~AliTPCRow() {delete[] fClusterArray;}
      void InsertCluster(const AliTPCcluster *c, Int_t sec, Int_t row);
-     void ResetClusters() {fN=0;}
+     void ResetClusters() {fN=0; delete[] fClusterArray; fClusterArray=0;}
      operator int() const {return fN;}
      const AliTPCcluster *operator[](Int_t i) const {return fClusters[i];}
      const AliTPCcluster *GetUnsortedCluster(Int_t i) const {
+       if ((i < 0) || (i >= fN)) return NULL;
        return fClusterArray+i;
      }
      UInt_t GetIndex(Int_t i) const {return fIndex[i];}
@@ -145,9 +152,11 @@ public:
    };
 
 private:
+
    void MakeSeeds(Int_t i1, Int_t i2);
    Int_t FollowProlongation(AliTPCseed& t, Int_t rf=0);
    Int_t FollowBackProlongation(AliTPCseed &s, const AliTPCtrack &t);
+   Int_t FollowRefitInward(AliTPCseed *seed, AliTPCtrack *track);
 
    AliTPCtracker(const AliTPCtracker& r);           //dummy copy constructor
    AliTPCtracker &operator=(const AliTPCtracker& r);//dummy assignment operator
@@ -162,6 +171,19 @@ private:
    
    AliTPCParam *fParam;      //! TPC parameters for outer reference plane [SR, GSI, 18.02.2003]
    TObjArray *fSeeds;        //array of track seeds
+
+   // [SR, 01.04.2003]
+   void SetBarrelTree(const char *mode);
+   void StoreBarrelTrack(AliTPCtrack *ps, Int_t refPlane, Int_t isIn);
+
+   // [SR, 01.04.2003]
+   TFile *fBarrelFile;             // file with "barrel" tracks
+   TTree *fBarrelTree;             // tree with "barrel" tracks
+   TBranch *fBarrelBranch;
+   TClonesArray *fBarrelArray;
+   AliBarrelTrack *fBarrelTrack;
+
+  ClassDef(AliTPCtracker,1)   // Time Projection Chamber tracker
 };
 
 #endif