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