1 /* Copyright(c) 2004-2006, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
4 //====================================================================================================================================================
6 // Class for finding and building the clusters of the ALICE Muon Forward Tracker
8 // Contact author: antonio.uras@cern.ch
10 //====================================================================================================================================================
12 #ifndef AliMFTClusterFinder_H
13 #define AliMFTClusterFinder_H
16 #include "TObjArray.h"
17 #include "TClonesArray.h"
18 #include "AliMFTDigit.h"
19 #include "AliMFTCluster.h"
20 #include "AliMFTSegmentation.h"
23 #include "AliMFTConstants.h"
24 #include "TStopwatch.h"
26 //====================================================================================================================================================
28 class AliMFTClusterFinder : public TObject {
32 AliMFTClusterFinder();
33 ~AliMFTClusterFinder();
34 virtual void Clear(const Option_t* /*opt*/);
35 void Init(const Char_t *nameGeomFile);
37 void MakeClusterBranch(TTree *treeCluster);
38 void SetClusterTreeAddress(TTree *treeCluster);
39 void CreateClusters();
41 void ApplyMisalignment(Bool_t applyMisalignment) { fApplyMisalignment = applyMisalignment; }
43 void DigitsToClusters(const TObjArray *pDigitList);
49 static const Int_t fNMaxDigitsPerCluster = AliMFTConstants::fNMaxDigitsPerCluster;
50 static const Int_t fNMaxPlanes = AliMFTConstants::fNMaxPlanes;
51 static const Int_t fNMaxDetElemPerPlane = AliMFTConstants::fNMaxDetElemPerPlane;
52 static const Double_t fCutForAvailableDigits;
53 static const Double_t fCutForAttachingDigits;
54 static const Double_t fMisalignmentMagnitude;
56 TClonesArray *fClustersPerPlane[fNMaxPlanes]; //! [fNPlanes] list of clusters [per plane]
58 TClonesArray *fDigitsInCluster; //!
59 AliMFTDigit *fCurrentDigit; //!
60 AliMFTCluster *fCurrentCluster; //!
62 AliMFTSegmentation *fSegmentation; //!
66 Bool_t fApplyMisalignment; // For MC, waiting for OCDB...
68 TStopwatch *fStopWatch; //!
70 AliMFTClusterFinder(const AliMFTClusterFinder &source);
71 AliMFTClusterFinder& operator=(const AliMFTClusterFinder &source);
73 ClassDef(AliMFTClusterFinder,1)
77 //====================================================================================================================================================