Added class AliMFTRecoParam.cxx/h
[u/mrichter/AliRoot.git] / MFT / AliMFTClusterFinder.h
1 /* Copyright(c) 2004-2006, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice     */
3
4 //====================================================================================================================================================
5 //
6 //      Class for finding and building the clusters of the ALICE Muon Forward Tracker
7 //
8 //      Contact author: antonio.uras@cern.ch
9 //
10 //====================================================================================================================================================
11
12 #ifndef AliMFTClusterFinder_H
13 #define AliMFTClusterFinder_H
14
15 #include "AliLog.h"
16 #include "TObjArray.h"
17 #include "TClonesArray.h"
18 #include "AliMFTDigit.h"
19 #include "AliMFTCluster.h"
20 #include "AliMFTSegmentation.h"
21 #include "TTree.h"
22 #include "TMath.h"
23 #include "AliMFTConstants.h"
24
25 //====================================================================================================================================================
26
27 class AliMFTClusterFinder : public TObject {
28
29 public:
30
31   AliMFTClusterFinder();
32   ~AliMFTClusterFinder();
33
34   void Init(const Char_t *nameGeomFile);
35   
36   void MakeClusterBranch(TTree *treeCluster);
37   void SetClusterTreeAddress(TTree *treeCluster);
38   void CreateClusters();
39
40   void DigitsToClusters(const TObjArray *pDigitList);
41
42   void StartEvent();
43
44 private:
45  
46   static const Int_t fNMaxDigitsPerCluster = AliMFTConstants::fNMaxDigitsPerCluster;
47   static const Int_t fNMaxPlanes = AliMFTConstants::fNMaxPlanes;
48   static const Double_t fCutForAvailableDigits;
49   static const Double_t fCutForAttachingDigits;
50
51   TClonesArray *fClustersPerPlane[fNMaxPlanes];    // ![fNPlanes] list of clusters [per plane]
52
53   TClonesArray *fDigitsInCluster;
54   AliMFTDigit *fCurrentDigit;
55   AliMFTCluster *fCurrentCluster;
56
57   AliMFTSegmentation *fSegmentation;
58
59   Int_t fNPlanes;
60
61   AliMFTClusterFinder(const AliMFTClusterFinder &source);
62   AliMFTClusterFinder& operator=(const AliMFTClusterFinder &source);
63
64   ClassDef(AliMFTClusterFinder,1) 
65
66 };
67
68 //====================================================================================================================================================
69
70 #endif