1 #ifndef ALIITSCLUSTERFINDER_H
2 #define ALIITSCLUSTERFINDER_H
5 ////////////////////////////////////////////////
6 // ITS Cluster Finder Class //
7 ////////////////////////////////////////////////
11 //---------------------------------------------------------------
12 class AliITSClusterFinder :public TObject
15 TClonesArray *fDigits; // digits
16 Int_t fNdigits; // num of digits
18 AliITSClusterFinder(AliITSsegmentation *seg, AliITSresponse *resp, TClonesArray *digits);
19 AliITSClusterFinder();
20 virtual ~AliITSClusterFinder(){
23 AliITSClusterFinder(const AliITSClusterFinder &source); // copy constructor
24 AliITSClusterFinder& operator=(const AliITSClusterFinder &source); // assignment operator
26 virtual void SetResponse(AliITSresponse *response) {
30 virtual void SetSegmentation(AliITSsegmentation *segmentation) {
32 fSegmentation=segmentation;
35 virtual void SetDigits(TClonesArray *ITSdigits) {
38 fNdigits = fDigits->GetEntriesFast();
40 virtual Int_t NDigits() {
41 // Get Number of Digits
45 virtual void SetMap() {
53 virtual void AddCluster(Int_t branch, AliITSRawCluster *c);
55 virtual void FindRawClusters() {
56 // Search for raw clusters
58 virtual void FindCluster(Int_t i, Int_t j, AliITSRawCluster *c) {
62 virtual void Decluster(AliITSRawCluster *cluster) {
65 virtual void SetNperMax(Int_t npermax=3) {
66 // Set max. Number of cells per local cluster
69 virtual void SetDeclusterFlag(Int_t flag=1) {
73 virtual void SetClusterSize(Int_t clsize=3) {
74 // Set max. cluster size ; bigger clusters will be rejected
75 fClusterSize = clsize;
77 virtual void CalibrateCOG() {
78 // Self Calibration of COG
80 virtual void CorrectCOG(){
84 virtual Bool_t Centered(AliITSRawCluster *cluster) {
88 virtual void SplitByLocalMaxima(AliITSRawCluster *cluster) {
89 // split by local maxima
91 virtual void FillCluster(AliITSRawCluster *cluster, Int_t) {
94 virtual void FillCluster(AliITSRawCluster *cluster) {
96 FillCluster(cluster,1);
99 // set the fitting methods in the derived classes
102 AliITSresponse *fResponse; // response
103 AliITSsegmentation *fSegmentation; //segmentation
105 Int_t fNRawClusters; // in case we split the cluster
106 // and want to keep track of
107 // the cluster which was splitted
108 AliITSMap *fMap; // map
110 Int_t fNperMax; // NperMax
111 Int_t fDeclusterFlag; // DeclusterFlag
112 Int_t fClusterSize; // ClusterSize
113 Int_t fNPeaks; // NPeaks
116 ClassDef(AliITSClusterFinder,1) //Class for clustering and reconstruction of space points