]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/hough/AliL3HoughTransformerGlobal.h
added data source and sink base components
[u/mrichter/AliRoot.git] / HLT / hough / AliL3HoughTransformerGlobal.h
CommitLineData
3e87ef69 1// @(#) $Id$
2
c62b480b 3#ifndef ALIL3HOUGHTRANSFORMERGLOBAL_H
4#define ALIL3HOUGHTRANSFORMERGLOBAL_H
3e87ef69 5
6#include "AliL3RootTypes.h"
7#include "AliL3HoughTransformer.h"
8
9class AliL3Histogram;
10class AliL3MemHandler;
11class AliL3TrackArray;
12class AliL3HoughMaxFinder;
13class TH2F;
14
c62b480b 15struct 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
22class 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