New ITS code for new structure and simulations.
[u/mrichter/AliRoot.git] / ITS / AliITSClusterFinder.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15
16
17 #include "AliITSClusterFinder.h"
18 #include "TTree.h"
19 #include "AliRun.h"
20 #include <TCanvas.h>
21 #include <TH1.h>
22 #include <TPad.h>
23 #include <TGraph.h> 
24 #include <TPostScript.h> 
25 #include <TMinuit.h> 
26
27 class AliITSRecPointNew;
28
29 //----------------------------------------------------------
30
31 //----------------------------------------------------------
32
33 ClassImp(AliITSClusterFinder)
34
35 AliITSClusterFinder::AliITSClusterFinder
36 (AliITSsegmentation *seg, AliITSresponse *response, TClonesArray *digits)   
37 {
38   // cluster finder
39     fSegmentation=seg;
40     fResponse=response;
41     fMap = 0;
42     
43     fDigits=digits;
44     fNdigits = fDigits->GetEntriesFast();
45
46     fNRawClusters=0;
47
48     SetNperMax();
49     SetClusterSize();
50     SetDeclusterFlag();
51
52     fNPeaks=-1;
53 }
54
55 //----------------------------------------------------------
56 AliITSClusterFinder::AliITSClusterFinder()
57 {
58   // constructor
59     fResponse=0;
60     
61     fDigits=0;
62     fNdigits = 0;
63
64     fNRawClusters=0;
65     fMap = 0;
66
67
68     SetNperMax();
69     SetClusterSize();
70     SetDeclusterFlag();
71
72     fNPeaks=-1;
73 }
74  
75 //__________________________________________________________________________
76 AliITSClusterFinder::AliITSClusterFinder(const AliITSClusterFinder &source){
77   //     Copy Constructor 
78   if(&source == this) return;
79   this->fDigits = source.fDigits;
80   this->fNdigits = source.fNdigits;
81   this->fResponse = source.fResponse;
82   this->fSegmentation = source.fSegmentation;
83   this->fNRawClusters = source.fNRawClusters;
84   this->fMap = source.fMap;
85   this->fNperMax = source.fNperMax;
86   this->fDeclusterFlag = source.fDeclusterFlag;
87   this->fClusterSize = source.fClusterSize;
88   this->fNPeaks = source.fNPeaks;
89   return;
90 }
91
92 //_________________________________________________________________________
93 AliITSClusterFinder& 
94   AliITSClusterFinder::operator=(const AliITSClusterFinder &source) {
95   //    Assignment operator
96   if(&source == this) return *this;
97   this->fDigits = source.fDigits;
98   this->fNdigits = source.fNdigits;
99   this->fResponse = source.fResponse;
100   this->fSegmentation = source.fSegmentation;
101   this->fNRawClusters = source.fNRawClusters;
102   this->fMap = source.fMap;
103   this->fNperMax = source.fNperMax;
104   this->fDeclusterFlag = source.fDeclusterFlag;
105   this->fClusterSize = source.fClusterSize;
106   this->fNPeaks = source.fNPeaks;
107   return *this;
108 }
109
110 //----------------------------------------------------------
111 void AliITSClusterFinder::AddCluster(Int_t branch, AliITSRawCluster *c)
112 {
113   //
114   // Add a raw cluster copy to the list
115   //
116     AliITS *iTS=(AliITS*)gAlice->GetModule("ITS");
117     iTS->AddCluster(branch,c); 
118     fNRawClusters++;
119 }
120
121
122
123
124