]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliTracker.h
Multievent loop improved (Yu.Belikov)
[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.; fEventN=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   void SetVertex(Double_t *xyz) { fX=xyz[0]; fY=xyz[1]; fZ=xyz[2]; }
24   void SetEventNumber(Int_t ev) { fEventN=ev; }
25
26 //protected:
27   virtual AliCluster *GetCluster(Int_t index) const=0;
28   virtual void  UseClusters(const AliKalmanTrack *t, Int_t from=0) const;
29   virtual void  CookLabel(AliKalmanTrack *t,Float_t wrong) const; 
30   Double_t GetX() const {return fX;}
31   Double_t GetY() const {return fY;}
32   Double_t GetZ() const {return fZ;}
33   Int_t GetEventNumber() const {return fEventN;}
34
35 private:
36   Int_t fEventN;//event number
37
38   Double_t fX;  //X-coordinate of the primary vertex
39   Double_t fY;  //Y-coordinate of the primary vertex
40   Double_t fZ;  //Z-coordinate of the primary vertex
41
42   ClassDef(AliTracker,1) //abstract tracker
43 };
44
45 #endif
46
47