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