]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/Ref/AliHLTTPCClusterFitter.h
Added a Makefile with rules for component libraries conforming to the
[u/mrichter/AliRoot.git] / HLT / TPCLib / Ref / AliHLTTPCClusterFitter.h
CommitLineData
78001a73 1// @(#) $Id$
2
3#ifndef AliHLTTPC_ClusterFitter
4#define AliHLTTPC_ClusterFitter
5
6#include "AliHLTTPCRootTypes.h"
7#include "AliHLTTPCModeller.h"
8#include "AliHLTTPCTransform.h"
9
10class AliHLTTPCModelTrack;
11class AliHLTTPCTrackArray;
12class AliHLTTPCSpacePointData;
13
14class AliHLTTPCClusterFitter : public AliHLTTPCModeller {
15
16 private:
17 Int_t fNmaxOverlaps;
18 Int_t fRowMin;
19 Int_t fRowMax;
20 Float_t fChiSqMax[2];
21 Float_t fYInnerWidthFactor;
22 Float_t fZInnerWidthFactor;
23 Float_t fYOuterWidthFactor;
24 Float_t fZOuterWidthFactor;
25 Int_t fFitted;
26 Int_t fFailed;
27 static Int_t fBadFitError;
28 static Int_t fFitError;
29 static Int_t fResultError;
30 static Int_t fFitRangeError;
31 Bool_t fSeeding;
32 Int_t fNMaxClusters;
33 Int_t fNClusters;
34 Int_t fEvent;
35 AliHLTTPCTrackArray *fSeeds; //!
36 AliHLTTPCTrackArray *fProcessTracks; //!
37 AliHLTTPCSpacePointData *fClusters; //!
38
39 void FitClusters(AliHLTTPCModelTrack *track,Int_t *padrange,Int_t *timerange);
40 Bool_t CheckCluster(Int_t trackindex);
41 Bool_t IsMaximum(Int_t pad,Int_t time);
42 Bool_t SetFitRange(AliHLTTPCModelTrack *track,Int_t *padrange,Int_t *timerange);
43 void SetClusterfitFalse(AliHLTTPCModelTrack *track);
44
45 public:
46 AliHLTTPCClusterFitter();
47 AliHLTTPCClusterFitter(Char_t *path);
48 virtual ~AliHLTTPCClusterFitter();
49
50 void Init(Int_t slice,Int_t patch,Int_t *rowrange,AliHLTTPCTrackArray *tracks);
51 void Init(Int_t slice,Int_t patch);
52 void LoadSeeds(Int_t *rowrange,Bool_t offline=kTRUE,Int_t eventnr=0);
53 void LoadLocalSegments();
54 void FindClusters();
55 void AddClusters();
56 void WriteClusters(Bool_t global=kTRUE);
57 void WriteTracks(Int_t min_hits);
58 void SetNmaxOverlaps(Int_t i) {fNmaxOverlaps=i;}
59 void SetChiSqMax(Float_t f,Bool_t overlapping) {fChiSqMax[(Int_t)overlapping] = f;}
60 void SetInnerWidthFactor(Float_t y,Float_t z) {fYInnerWidthFactor=y; fZInnerWidthFactor=z;}
61 void SetOuterWidthFactor(Float_t y,Float_t z) {fYOuterWidthFactor=y; fZOuterWidthFactor=z;}
62
63 Float_t GetYWidthFactor() {return fCurrentPadRow < AliHLTTPCTransform::GetLastRow(1) ? fYInnerWidthFactor : fYOuterWidthFactor;}
64 Float_t GetZWidthFactor() {return fCurrentPadRow < AliHLTTPCTransform::GetLastRow(1) ? fZInnerWidthFactor : fZOuterWidthFactor;}
65 AliHLTTPCTrackArray *GetSeeds() {return fSeeds;}
66
67
68 ClassDef(AliHLTTPCClusterFitter,1)
69
70};
71
72#endif