1 #ifndef ALIITSCLUSTERFINDER_H
2 #define ALIITSCLUSTERFINDER_H
5 ////////////////////////////////////////////////
6 // ITS Cluster Finder Class //
7 ////////////////////////////////////////////////
10 #include <TClonesArray.h>
14 class AliITSsegmentation;
15 class AliITSRawCluster;
19 //---------------------------------------------------------------
20 class AliITSClusterFinder :public TObject
24 AliITSClusterFinder(AliITSsegmentation *seg, AliITSresponse *resp, TClonesArray *digits);
25 AliITSClusterFinder();
26 virtual ~AliITSClusterFinder(){
29 AliITSClusterFinder(const AliITSClusterFinder &source); // copy constructor
30 AliITSClusterFinder& operator=(const AliITSClusterFinder &source); // assignment operator
32 virtual void SetResponse(AliITSresponse *response) {
36 virtual void SetSegmentation(AliITSsegmentation *segmentation) {
38 fSegmentation=segmentation;
41 virtual void SetDigits(TClonesArray *ITSdigits) {
44 fNdigits = fDigits->GetEntriesFast();
46 virtual Int_t NDigits() {
47 // Get Number of Digits
56 virtual void AddCluster(Int_t branch, AliITSRawCluster *c);
57 virtual void AddCluster(Int_t branch, AliITSRawCluster *c, AliITSRecPoint &rp);
59 virtual void FindRawClusters() {
60 // Search for raw clusters
62 virtual void FindCluster(Int_t i, Int_t j, AliITSRawCluster *c) {
66 virtual void Decluster(AliITSRawCluster *cluster) {
69 virtual void SetNperMax(Int_t npermax=3) {
70 // Set max. Number of cells per local cluster
73 virtual void SetDeclusterFlag(Int_t flag=1) {
77 virtual void SetClusterSize(Int_t clsize=3) {
78 // Set max. cluster size ; bigger clusters will be rejected
79 fClusterSize = clsize;
81 virtual void CalibrateCOG() {
82 // Self Calibration of COG
84 virtual void CorrectCOG(){
88 virtual Bool_t Centered(AliITSRawCluster *cluster) {
92 virtual void SplitByLocalMaxima(AliITSRawCluster *cluster) {
93 // split by local maxima
95 virtual void FillCluster(AliITSRawCluster *cluster, Int_t) {
98 virtual void FillCluster(AliITSRawCluster *cluster) {
100 FillCluster(cluster,1);
103 // set the fitting methods in the derived classes
107 TClonesArray *fDigits; // digits
108 Int_t fNdigits; // num of digits
111 AliITSresponse *fResponse; // response
112 AliITSsegmentation *fSegmentation; //segmentation
114 Int_t fNRawClusters; // in case we split the cluster
115 // and want to keep track of
116 // the cluster which was splitted
117 AliITSMap *fMap; // map
119 Int_t fNperMax; // NperMax
120 Int_t fDeclusterFlag; // DeclusterFlag
121 Int_t fClusterSize; // ClusterSize
122 Int_t fNPeaks; // NPeaks
125 ClassDef(AliITSClusterFinder,1) //Class for clustering and reconstruction of space points