L3 becomes HLT
[u/mrichter/AliRoot.git] / HLT / hough / AliHLTHoughTransformer.h
CommitLineData
3e87ef69 1// @(#) $Id$
2
917e711b 3#ifndef ALIL3HOUGHTRANSFORMER_H
4#define ALIL3HOUGHTRANSFORMER_H
4de874d1 5
bd5675d4 6//-------------------------------------------------------------------------
4aa41877 7// Class AliHLTHoughTransformer
bd5675d4 8// This is one of the possible implementations of the Hough Transform
9// TPC tracking algorithms for HLT.
10//-------------------------------------------------------------------------
11
4aa41877 12#include "AliHLTRootTypes.h"
13#include "AliHLTHoughBaseTransformer.h"
4de874d1 14
4aa41877 15class AliHLTHistogram;
4de874d1 16
4aa41877 17class AliHLTHoughTransformer : public AliHLTHoughBaseTransformer {
4de874d1 18
19 public:
4aa41877 20 AliHLTHoughTransformer();
21 AliHLTHoughTransformer(Int_t slice,Int_t patch,Int_t netasegments,Bool_t DoEtaOverlap=kFALSE,Bool_t DoMC=kFALSE);
22 virtual ~AliHLTHoughTransformer();
99e7186b 23
b2a02bce 24 void CreateHistograms(Float_t ptmin,Float_t ptmax,Float_t ptres,Int_t nybin,Float_t psi);
25 void CreateHistograms(Int_t nxbin,Float_t ptmin,Int_t nybin,Float_t phimin,Float_t phimax);
26 void CreateHistograms(Int_t nxbin,Float_t xmin,Float_t xmax,
27 Int_t nybin,Float_t ymin,Float_t ymax);
e26acabd 28 void Reset();
4fc9a6a4 29 void TransformCircle();
298edb8a 30 void TransformCircle(Int_t *rowrange,Int_t every) {
4aa41877 31 AliHLTHoughBaseTransformer:: TransformCircle(rowrange,every);
298edb8a 32 }
917e711b 33 void TransformCircleC(Int_t *rowrange,Int_t every=1);
3e87ef69 34 void TransformLine(Int_t *rowrange=0,Float_t *phirange=0);
35 void TransformLineC(Int_t *rowrange,Float_t *phirange);
4fc9a6a4 36
bd2f8772 37 Int_t GetEtaIndex(Double_t eta) const;
38 void GetEtaIndexes(Double_t eta,Int_t *indexes) const;
4aa41877 39 AliHLTHistogram *GetHistogram(Int_t etaindex);
974fb714 40 Double_t GetEta(Int_t etaindex,Int_t slice) const;
8a9c0ba2 41 Int_t GetTrackID(Int_t etaindex,Double_t kappa,Double_t psi) const;
1eef4efc 42
917e711b 43 private:
44
4aa41877 45 AliHLTHistogram **fParamSpace; //!
917e711b 46#ifdef do_mc
4aa41877 47 AliHLTTrackIndex **fTrackID; //!
917e711b 48#endif
49 Bool_t fDoMC; // Calculate mc labels or not
50 Bool_t fEtaOverlap; // Allow overlapping of eta slice or not
51
52 void DeleteHistograms();
53
4aa41877 54 ClassDef(AliHLTHoughTransformer,1) //Normal Hough transformation class
4de874d1 55
56};
57
4aa41877 58typedef AliHLTHoughTransformer AliL3HoughTransformer; // for backward compatibility
59
4de874d1 60#endif
7646f3c3 61
62
63
64