Updated V2 stream of tracking (Yu.Belikov). The new long waited features are: 1)...
[u/mrichter/AliRoot.git] / STEER / AliTracker.h
1 #ifndef ALITRACKER_H
2 #define ALITRACKER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 //-------------------------------------------------------------------------
7 //                          class AliTracker
8 //
9 //       Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch 
10 //-------------------------------------------------------------------------
11 #include <Rtypes.h>
12
13 class AliKalmanTrack;
14 class AliCluster;
15 class TFile;
16
17 class AliTracker {
18 public:
19   AliTracker() { fX=fY=fZ=0.; }
20   virtual ~AliTracker(){}
21   virtual Int_t Clusters2Tracks(const TFile *in, TFile *out)=0;
22   virtual Int_t PropagateBack(const TFile *in, TFile *out)=0;
23   static void SetVertex(Double_t *xyz) { fX=xyz[0]; fY=xyz[1]; fZ=xyz[2]; }
24
25 //protected:
26   virtual AliCluster *GetCluster(Int_t index) const=0;
27   virtual void  UseClusters(const AliKalmanTrack *t, Int_t from=0) const;
28   virtual void  CookLabel(AliKalmanTrack *t,Float_t wrong) const; 
29   Double_t GetX() const {return fX;}
30   Double_t GetY() const {return fY;}
31   Double_t GetZ() const {return fZ;}
32
33 private:
34   static Double_t fX;  //X-coordinate of the primary vertex
35   static Double_t fY;  //Y-coordinate of the primary vertex
36   static Double_t fZ;  //Z-coordinate of the primary vertex
37
38   ClassDef(AliTracker,1) //abstract tracker
39 };
40
41 #endif
42
43