Obsolete, replaced by AliMUONClusterFinderVS.
[u/mrichter/AliRoot.git] / MUON / AliMUONClusterFinderVS.h
CommitLineData
a9e2aefa 1#ifndef ALIMUONCLUSTERFINDERVS_H
2#define ALIMUONCLUSTERFINDERVS_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8////////////////////////////////////////////////
9// MUON Cluster Finder Class //
10////////////////////////////////////////////////
11#include "AliMUONHitMap.h"
12#include "TF1.h"
13#include "AliMUONClusterFinder.h"
9825400f 14#include "AliMUONSegmentation.h"
15
a9e2aefa 16class AliMUONClusterFinderVS :
17 public AliMUONClusterFinder
18{
19 public:
20 AliMUONClusterFinderVS
21 (AliMUONSegmentation *segmentation1, AliMUONSegmentation *segmentation2,
22 AliMUONResponse *response,
23 TClonesArray *digits1, TClonesArray *digits2,
24 Int_t chamber);
25 AliMUONClusterFinderVS();
26 AliMUONClusterFinderVS(const AliMUONClusterFinderVS& clusterFinder);
27 virtual ~AliMUONClusterFinderVS(){;}
28// Set segmentation model
29 virtual void SetSegmentation(AliMUONSegmentation *seg1, AliMUONSegmentation *seg2)
30 {
9825400f 31 fSegmentation[0]=seg1;
32 fSegmentation[1]=seg2;
a9e2aefa 33 }
34// Set pointer to digits
35 virtual void SetDigits(TClonesArray *MUONdigits1, TClonesArray *MUONdigits2);
36
37// Get Segmentation
38 virtual AliMUONSegmentation* Segmentation(Int_t i);
39// Get Number of Digits
40 virtual Int_t NDigits(Int_t i);
41// Get Digits
42 virtual TClonesArray* Digits(Int_t i);
43// Get HitMap
44 virtual AliMUONHitMap* HitMap(Int_t i);
45
46// Search for raw clusters
47 virtual void FindRawClusters();
48// Find cluster
49 virtual void FindCluster(Int_t i, Int_t j, Int_t cath, AliMUONRawCluster &c);
50// Decluster
51 virtual void Decluster(AliMUONRawCluster *cluster);
52// Perform split by local maxima
53 virtual void SplitByLocalMaxima(AliMUONRawCluster *cluster);
54 virtual void FindLocalMaxima(AliMUONRawCluster *cluster);
55 virtual void Split(AliMUONRawCluster * cluster);
56
57// Perform Double Mathieson Fit
58 Bool_t DoubleMathiesonFit(AliMUONRawCluster *c, Int_t cath);
59 Float_t CombiDoubleMathiesonFit(AliMUONRawCluster *c);
60 Float_t SingleMathiesonFit(AliMUONRawCluster *c, Int_t cath);
61 Float_t CombiSingleMathiesonFit(AliMUONRawCluster *c);
62// Build up full cluster information
63 virtual void FillCluster(AliMUONRawCluster *cluster, Int_t flag, Int_t cath);
64 virtual void FillCluster(AliMUONRawCluster *cluster, Int_t cath);
65 virtual void FillCluster(AliMUONRawCluster *cluster) {
66 FillCluster(cluster,1,0);}
67 // Add a new raw cluster
68 virtual void AddRawCluster(const AliMUONRawCluster cluster);
69
70 virtual void SetTracks(Int_t t1, Int_t t2)
71 {
72 fTrack[0]=t1;
73 fTrack[1]=t2;
74 }
75
76 virtual Bool_t TestTrack(Int_t t) {
77 if (fTrack[0]==-1 || fTrack[1]==-1) {
78 return kTRUE;
79 } else if (t==fTrack[0] || t==fTrack[1]) {
80 return kTRUE;
81 } else {
82 return kFALSE;
83 }
84 }
85 // Assignment operator
86 AliMUONClusterFinderVS & operator = (const AliMUONClusterFinderVS& rhs);
87protected:
88 TClonesArray* fDigits2; // Digits
89 Int_t fNdigits2; // Number of Digits
a9e2aefa 90 AliMUONHitMapA1* fHitMap2; // Hit Map
91 AliMUONDigit* fDig[100][2]; // current list of digits
92 Int_t fIx[100][2]; // current list of x-pad-coord.
93 Int_t fIy[100][2]; // current list of y-pad-coord.
94 Float_t fX[100][2]; // current list of x-coord.
95 Float_t fY[100][2]; // current list of y-coord.
96 Int_t fIndLocal[100][2]; // indices of local maxima
97 Int_t fNLocal[2]; // Number of local maxima
98 Int_t fQ[100][2]; // current list of charges
99 Int_t fMul[2]; // current multiplicity
100// Current Fit
101 Double_t fXFit[2]; // x-coordinate
102 Double_t fYFit[2]; // y-coordinate
103 Double_t fQrFit[2]; // charge ratio
104 Float_t fChi2[2]; // chi2 of fit
105 Float_t fXInit[2]; // start values
106 Float_t fYInit[2]; // start values
107 Float_t fQrInit[2]; // start values
108 Int_t fFitStat; // status of fit
109
110// Selected track for debugging
111 Int_t fTrack[2]; // Only digits with main contributions from these tracks are
112 // considered
113// Return pointer to raw clusters
114 ClassDef(AliMUONClusterFinderVS,1) //Class for clustering and reconstruction of space points
115};
116#endif
117
118
119
120
121
122
123
124
125
126