]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/hough/AliL3HoughMerger.h
Compilation on Alpha
[u/mrichter/AliRoot.git] / HLT / hough / AliL3HoughMerger.h
1 // @(#) $Id$
2
3 #ifndef ALIL3_HOUGH_Merger
4 #define ALIL3_HOUGH_Merger
5
6 #include "AliL3RootTypes.h"
7 #include "AliL3Merger.h"
8
9 class AliL3TrackArray;
10 class AliL3Track;
11
12 class AliL3HoughMerger : public AliL3Merger {
13   
14  private:
15   Double_t fMaxY;
16   Double_t fMaxZ;
17   Double_t fMaxKappa;
18   Double_t fMaxPsi;
19   Double_t fMaxTgl;
20   Double_t fMaxPhi0;
21   Bool_t fSlow;
22
23   void Merge();
24   Int_t Merge(AliL3TrackArray* mergedtrack,AliL3TrackArray *tracksin,AliL3TrackArray *tracksout);
25   void SlowMerge(AliL3TrackArray *mergedtrack,AliL3TrackArray *tracksin,AliL3TrackArray *tracksout,Double_t xval);
26
27  public:
28   AliL3HoughMerger(); 
29   AliL3HoughMerger(Int_t nsubsectors);
30   virtual ~AliL3HoughMerger();
31   
32   virtual Bool_t IsTrack(AliL3Track *innertrack,AliL3Track *outertrack);
33   virtual AliL3Track *MultiMerge(AliL3TrackArray *mergedtrack,AliL3Track **tracks, Int_t ntrack);
34   virtual void AddTrack(AliL3TrackArray *mergedtrack,AliL3Track *track);
35   void FillTracks(AliL3TrackArray *tracks,Int_t patch);
36   
37   void MergePatches(Bool_t slow=kTRUE);
38   void MergeEtaSlices(Int_t patch) {};
39   void MergeTracks(AliL3TrackArray *intracks,Int_t i,Int_t j) {};
40   void Print(AliL3Track **tracks);
41   void SetParameters(Double_t maxkappa=0.001, Double_t maxpsi=0.05,Double_t maxphi0=0.1);
42   
43   ClassDef(AliL3HoughMerger,1) //Patch merger for Hough tracklets
44
45 };
46
47 #endif