]>
Commit | Line | Data |
---|---|---|
3e87ef69 | 1 | // @(#) $Id$ |
2 | ||
c62b480b | 3 | #ifndef ALIL3HOUGHTRANSFORMERGLOBAL_H |
4 | #define ALIL3HOUGHTRANSFORMERGLOBAL_H | |
3e87ef69 | 5 | |
6 | #include "AliL3RootTypes.h" | |
7 | #include "AliL3HoughTransformer.h" | |
8 | ||
9 | class AliL3Histogram; | |
10 | class AliL3MemHandler; | |
11 | class AliL3TrackArray; | |
12 | class AliL3HoughMaxFinder; | |
13 | class TH2F; | |
14 | ||
c62b480b | 15 | struct AliL3Seed { |
16 | Float_t fPhi;//Track emission angle | |
17 | Float_t fRadius;//Track radius | |
18 | Float_t fEta;//Track eta | |
19 | Int_t fIndex;//index? | |
3e87ef69 | 20 | }; |
21 | ||
22 | class AliL3HoughTransformerGlobal : public AliL3HoughTransformer { | |
c62b480b | 23 | |
3e87ef69 | 24 | public: |
25 | AliL3HoughTransformerGlobal(); | |
26 | AliL3HoughTransformerGlobal(Char_t *path,Int_t event=0); | |
27 | virtual ~AliL3HoughTransformerGlobal(); | |
28 | ||
b2a02bce | 29 | void CreateHistograms(Float_t ptmin,Int_t nxbin,Int_t nybin); |
298edb8a | 30 | void CreateHistograms(Float_t ptmin,Float_t ptmax,Float_t pres,Int_t nybin,Float_t psi) { |
31 | AliL3HoughTransformer::CreateHistograms(ptmin,ptmax,pres,nybin,psi); | |
32 | } | |
33 | void CreateHistograms(Int_t nxbin,Float_t ptmin,Int_t nybin,Float_t phimin,Float_t phimax) { | |
34 | AliL3HoughTransformer::CreateHistograms(nxbin,ptmin,nybin,phimin,phimax); | |
35 | } | |
36 | void CreateHistograms(Int_t nxbin,Float_t xmin,Float_t xmax, | |
37 | Int_t nybin,Float_t ymin,Float_t ymax) { | |
38 | AliL3HoughTransformer::CreateHistograms(nxbin,xmin,xmax,nybin,ymin,ymax); | |
39 | } | |
3e87ef69 | 40 | void VerifyTracks(AliL3TrackArray *tracks,Int_t &index); |
41 | void TransformCircle(); | |
298edb8a | 42 | void TransformCircle(Int_t *row_range,Int_t every) { |
43 | AliL3HoughTransformer::TransformCircle(row_range,every); | |
44 | } | |
3e87ef69 | 45 | void TransformCircleC(); |
298edb8a | 46 | void TransformCircleC(Int_t *rowrange,Int_t every){ |
47 | AliL3HoughTransformer::TransformCircleC(rowrange,every); | |
48 | } | |
3e87ef69 | 49 | void DefineRegion(Float_t ptmin,Float_t linephi,Int_t seedpadrow); |
50 | void LoadActiveSlices(Bool_t binary=kTRUE); | |
51 | void UnloadActiveSlices(); | |
c62b480b | 52 | void DisplayActiveRegion(TH2F *hist,Int_t etaindex=0); |
3e87ef69 | 53 | |
54 | void SetSeedPadRow(Int_t i) {fSeedPadRow=i;} | |
55 | ||
56 | AliL3TrackArray *GetTracks() {return fTracks;} | |
57 | ||
c62b480b | 58 | private: |
59 | Int_t fEvent;//Event index | |
60 | Char_t fPath[1024];//path to the input files | |
61 | Int_t *fPadMin; //! | |
62 | Int_t *fPadMax; //! | |
63 | Int_t fNActiveSlice;//number of active slices | |
64 | Float_t fPsi;//psi range | |
65 | Float_t fPtMin;//minimum pt | |
66 | Int_t fSeedPadRow;//? | |
67 | AliL3MemHandler **fMemHandler; //! | |
68 | AliL3TrackArray *fTracks; //! | |
69 | AliL3HoughMaxFinder *fPeakFinder; //! | |
70 | ||
71 | void Rotate(Float_t *xyz,Int_t relslice); | |
72 | void FindPeaks(AliL3Histogram *hist,Float_t eta); | |
73 | Int_t LoadClusterSeeds(AliL3Seed *seeds); | |
74 | Float_t CalculateBorder(Float_t *xyz,Int_t charge); | |
75 | ||
3e87ef69 | 76 | ClassDef(AliL3HoughTransformerGlobal,1) |
77 | ||
78 | }; | |
79 | ||
80 | #endif | |
81 | ||
82 | ||
83 | ||
84 |