]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MFT/AliMFTClusterFinder.h
MUON + CheckCompiler
[u/mrichter/AliRoot.git] / MFT / AliMFTClusterFinder.h
CommitLineData
820b4d9e 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"
d4643a10 23#include "AliMFTConstants.h"
e21f8bf5 24#include "TStopwatch.h"
820b4d9e 25
26//====================================================================================================================================================
27
28class AliMFTClusterFinder : public TObject {
29
30public:
31
32 AliMFTClusterFinder();
33 ~AliMFTClusterFinder();
ffc53def 34 virtual void Clear(const Option_t* /*opt*/);
9cc245f6 35 void Init(const Char_t *nameGeomFile);
820b4d9e 36
37 void MakeClusterBranch(TTree *treeCluster);
38 void SetClusterTreeAddress(TTree *treeCluster);
39 void CreateClusters();
40
65273893 41 void ApplyMisalignment(Bool_t applyMisalignment) { fApplyMisalignment = applyMisalignment; }
42
820b4d9e 43 void DigitsToClusters(const TObjArray *pDigitList);
44
45 void StartEvent();
820b4d9e 46
47private:
48
d4643a10 49 static const Int_t fNMaxDigitsPerCluster = AliMFTConstants::fNMaxDigitsPerCluster;
50 static const Int_t fNMaxPlanes = AliMFTConstants::fNMaxPlanes;
026547c6 51 static const Int_t fNMaxDetElemPerPlane = AliMFTConstants::fNMaxDetElemPerPlane;
d4643a10 52 static const Double_t fCutForAvailableDigits;
53 static const Double_t fCutForAttachingDigits;
65273893 54 static const Double_t fMisalignmentMagnitude;
820b4d9e 55
e21f8bf5 56 TClonesArray *fClustersPerPlane[fNMaxPlanes]; //! [fNPlanes] list of clusters [per plane]
820b4d9e 57
e21f8bf5 58 TClonesArray *fDigitsInCluster; //!
59 AliMFTDigit *fCurrentDigit; //!
60 AliMFTCluster *fCurrentCluster; //!
820b4d9e 61
e21f8bf5 62 AliMFTSegmentation *fSegmentation; //!
63
820b4d9e 64 Int_t fNPlanes;
65
65273893 66 Bool_t fApplyMisalignment; // For MC, waiting for OCDB...
67
68 TStopwatch *fStopWatch; //!
e21f8bf5 69
820b4d9e 70 AliMFTClusterFinder(const AliMFTClusterFinder &source);
71 AliMFTClusterFinder& operator=(const AliMFTClusterFinder &source);
72
73 ClassDef(AliMFTClusterFinder,1)
74
75};
76
77//====================================================================================================================================================
78
79#endif