]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/comp/AliL3Modeller.h
Using TMath::Abs instead of fabs
[u/mrichter/AliRoot.git] / HLT / comp / AliL3Modeller.h
CommitLineData
735e167e 1#ifndef AliL3_Modeller
2#define AliL3_Modeller
3
4
5#include "AliL3RootTypes.h"
6
7class AliL3TrackArray;
8class AliL3MemHandler;
9class AliL3DigitRowData;
029912b7 10class AliL3ModelTrack;
735e167e 11
12struct Cluster {
13 UInt_t fCharge;
14 UInt_t fPad;
15 UInt_t fTime;
16 UInt_t fSigmaY2;
17 UInt_t fSigmaZ2;
18};
19
20struct Digit {
21 Short_t fCharge;
22 Bool_t fUsed;
23};
24
25class AliL3Modeller {
26
27 private:
28
29 AliL3TrackArray *fTracks; //!
30 AliL3MemHandler *fMemHandler; //!
31 AliL3DigitRowData *fRowData;//!
029912b7 32
735e167e 33 Int_t fNClusters;
34 Int_t fMaxClusters;
8487f697 35 Int_t fCurrentPadRow;
735e167e 36
37 Float_t fPadOverlap;
38 Float_t fTimeOverlap;
f64c4364 39 Int_t fPadSearch;
40 Int_t fTimeSearch;
029912b7 41 Int_t fTrackThreshold; //minimum weigth track need in order to be included.(=Nhits/weight)
735e167e 42
43 Int_t fSlice;
44 Int_t fPatch;
be6ddb10 45 Char_t fPath[100];
4a838220 46
47 void FillCluster(AliL3ModelTrack *track,Cluster *cluster,Int_t row,Int_t npads);
735e167e 48 void CalcClusterWidth(Cluster *cl,Float_t &sigmaY2,Float_t &sigmaZ2);
95a00d93 49 void FillZeros(AliL3DigitRowData *digPt,Digit *row);
fe1c53fa 50 Bool_t CheckCluster(Digit *row,Int_t hitpad,Int_t hittime);
51
735e167e 52 public:
53
54 AliL3Modeller();
55 virtual ~AliL3Modeller();
56
8487f697 57 void Init(Int_t slice,Int_t patch,Char_t *trackdata,Char_t *path,Bool_t houghtracks,Bool_t binary=kTRUE);
029912b7 58 void FindClusters();
735e167e 59 void CheckForOverlaps();
60 void CalculateCrossingPoints();
be6ddb10 61 void WriteRemaining();
95a00d93 62
735e167e 63 void SetInputData(AliL3DigitRowData *digits) {fRowData = digits;}
2357bb38 64 void SetTrackThreshold(Int_t i=0) {fTrackThreshold=i;}
65 void SetOverlap(Int_t p=6,Int_t t=8) {fPadOverlap=p;fTimeOverlap=t;}
f64c4364 66 void SetSearchRange(Int_t p=1,Int_t t=2) {fPadSearch=p;fTimeSearch=t;}
67
95a00d93 68 AliL3TrackArray *GetTracks() {return fTracks;}
735e167e 69
70 ClassDef(AliL3Modeller,1) //Modeller class
71
72};
73
74#endif