]>
Commit | Line | Data |
---|---|---|
735e167e | 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 AliL3Transform; | |
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 | 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 |