]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/comp/AliL3Modeller.h
Data structures for track and clusters
[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;
10class AliL3Transform;
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;//!
32
33 AliL3Transform *fTransform; //!
34 Int_t fNClusters;
35 Int_t fMaxClusters;
36
37 Float_t fPadOverlap;
38 Float_t fTimeOverlap;
39
40 Int_t fSlice;
41 Int_t fPatch;
42
43 void CalcClusterWidth(Cluster *cl,Float_t &sigmaY2,Float_t &sigmaZ2);
95a00d93 44 void FillZeros(AliL3DigitRowData *digPt,Digit *row);
45
735e167e 46 public:
47
48 AliL3Modeller();
49 virtual ~AliL3Modeller();
50
51 void Init(Int_t slice,Int_t patch,Char_t *path);
52 void Process();
53 void CheckForOverlaps();
54 void CalculateCrossingPoints();
95a00d93 55 void WriteRemaining(Char_t *output);
56
735e167e 57 void SetInputData(AliL3DigitRowData *digits) {fRowData = digits;}
58
95a00d93 59 AliL3TrackArray *GetTracks() {return fTracks;}
735e167e 60
61 ClassDef(AliL3Modeller,1) //Modeller class
62
63};
64
65#endif