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