]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDtracker.h
Decay_t moved to AliDecayer.h
[u/mrichter/AliRoot.git] / TRD / AliTRDtracker.h
1 #ifndef ALITRDTRACKER_H
2 #define ALITRDTRACKER_H   
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */ 
6
7 #include <TNamed.h>
8
9 class TFile;
10 class TParticle;
11 class TParticlePDG;
12 class TObjArray;
13
14 class AliTRDgeometry;
15 // class AliTRDtrackingSector;
16 class AliTRDtrack;
17 class AliTRDmcTrack;
18
19
20 class AliTRDtracker : public TNamed { 
21
22  public:
23
24   AliTRDtracker();
25   AliTRDtracker(const Text_t* name, const Text_t* title);
26   ~AliTRDtracker(); 
27
28   virtual void  Clusters2Tracks(); 
29   Double_t      ExpectedSigmaY2(Double_t r, Double_t tgl, Double_t pt);
30   Double_t      ExpectedSigmaZ2(Double_t r, Double_t tgl);
31   Int_t         FindProlongation(AliTRDtrack& t, AliTRDtrackingSector *sec,
32                                  Int_t s, Int_t rf=0);
33   void          GetEvent(const Char_t *hitfile, const Char_t *clusterfile);
34   void          SetUpSectors(AliTRDtrackingSector *sec);
35   virtual void  MakeSeeds(Int_t inner, Int_t outer);
36   virtual void  FindTracks();
37   virtual void  UseClusters(AliTRDtrack t);
38   virtual Int_t GetTrackLabel(AliTRDtrack t);
39   Int_t         WriteTracks(const Char_t *filename); 
40   void          ReadClusters(TObjArray *array, const Char_t *filename, 
41                              Int_t option = 1);
42
43  protected:
44
45   Int_t            fEvent;            // Event number
46
47   AliTRDgeometry   *fGeom;            // Pointer to TRD geometry
48
49   Int_t            fNclusters;        // Number of clusters in TRD 
50   TObjArray        *fClusters;        // List of clusters for all sectors
51
52   Int_t            fNseeds;           // Number of track seeds  
53   TObjArray        *fSeeds;           // List of track seeds
54    
55   Int_t            fNtracks;          // Number of reconstructed tracks 
56   TObjArray        *fTracks;          // List of reconstructed tracks   
57
58   static const Int_t    fSeedGap;  // Distance between inner and outer
59                                       // time bin in seeding
60   
61   static const Int_t    fSeedStep;    // Step in iterations
62   static const Float_t  fSeedDepth;   // Fraction of TRD allocated for seeding
63   static const Float_t  fSkipDepth;   // Fraction of TRD which can be skipped
64                                       // in track prolongation             
65   static const Double_t fMaxChi2;     // max increment in track chi2 
66         
67   static const Float_t  fMinClustersInTrack; // min fraction of clusters in track
68   static const Float_t  fMinClustersInSeed;  // min fraction of clusters in seed
69   static const Float_t  fMaxSeedDeltaZ;  // max dZ in MakeSeeds
70   static const Float_t  fMaxSeedC;       // max initial curvature in MakeSeeds
71   static const Float_t  fMaxSeedTan;     // max initial Tangens(lambda) in MakeSeeds
72   static const Float_t  fMaxSeedVertexZ; // max vertex Z in MakeSeeds
73   static const Double_t fSeedErrorSY;    // sy parameter in MakeSeeds
74   static const Double_t fSeedErrorSY3;   // sy3 parameter in MakeSeeds
75   static const Double_t fSeedErrorSZ;    // sz parameter in MakeSeeds
76   static const Float_t  fLabelFraction;  // min fraction of clusters in GetTrackLabel
77   static const Float_t  fWideRoad;       // max road width in FindProlongation
78  
79   ClassDef(AliTRDtracker,1)           // manager base class  
80
81 };
82
83 #endif