]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/hough/AliL3HoughTransformerGlobal.h
cluster information
[u/mrichter/AliRoot.git] / HLT / hough / AliL3HoughTransformerGlobal.h
CommitLineData
3e87ef69 1// @(#) $Id$
2
3#ifndef ALIL3_HOUGHTRANSFORMERGLOBAL
4#define ALIL3_HOUGHTRANSFORMERGLOBAL
5
6#include "AliL3RootTypes.h"
7#include "AliL3HoughTransformer.h"
8
9class AliL3Histogram;
10class AliL3MemHandler;
11class AliL3TrackArray;
12class AliL3HoughMaxFinder;
13class TH2F;
14
15struct Seed {
16 Float_t fPhi;
17 Float_t fRadius;
18 Float_t fEta;
19 Int_t fIndex;
20};
21
22class AliL3HoughTransformerGlobal : public AliL3HoughTransformer {
23
24 private:
25 Int_t fEvent;
26 Char_t fPath[1024];
27 Int_t *fPadMin; //!
28 Int_t *fPadMax; //!
29 Int_t fNActiveSlice;
30 Float_t fPsi;
31 Float_t fPtMin;
32 Int_t fSeedPadRow;
33 AliL3MemHandler **fMemHandler; //!
34 AliL3TrackArray *fTracks; //!
35 AliL3HoughMaxFinder *fPeakFinder; //!
36
37 void Rotate(Float_t *xyz,Int_t rel_slice);
38 void FindPeaks(AliL3Histogram *hist,Float_t eta);
39 Int_t LoadClusterSeeds(Seed *seeds);
40 Float_t CalculateBorder(Float_t *xyz,Int_t charge);
41
42 public:
43 AliL3HoughTransformerGlobal();
44 AliL3HoughTransformerGlobal(Char_t *path,Int_t event=0);
45 virtual ~AliL3HoughTransformerGlobal();
46
47 void CreateHistograms(Int_t nxbin,Int_t nybin);
48 void VerifyTracks(AliL3TrackArray *tracks,Int_t &index);
49 void TransformCircle();
50 void TransformCircleC();
51 void DefineRegion(Float_t ptmin,Float_t linephi,Int_t seedpadrow);
52 void LoadActiveSlices(Bool_t binary=kTRUE);
53 void UnloadActiveSlices();
54 void DisplayActiveRegion(TH2F *hist,Int_t eta_index=0);
55
56 void SetSeedPadRow(Int_t i) {fSeedPadRow=i;}
57
58 AliL3TrackArray *GetTracks() {return fTracks;}
59
60 ClassDef(AliL3HoughTransformerGlobal,1)
61
62};
63
64#endif
65
66
67
68