* See cxx source for full Copyright notice */
/* $Id$ */
+// Revision of includes 07/05/2004
////////////////////////////////////////////////
// MUON Cluster Finder Class //
#include <TObject.h>
+class TClonesArray;
+
class AliMUONClusterInput;
class AliMUONHitMapA1;
-class AliMUONResponse;
-class AliSegmentation;
-class TClonesArray;
+class AliMUONGeometrySegmentation;
class AliMUONRawCluster;
class AliMUONDigit;
{
public:
AliMUONClusterFinderVS();
- AliMUONClusterFinderVS(const AliMUONClusterFinderVS& clusterFinder);
- virtual ~AliMUONClusterFinderVS(){;}
+ virtual ~AliMUONClusterFinderVS();
// Decluster ?
virtual void SetDeclusterFlag(Int_t flag=1) {fDeclusterFlag =flag;}
// Set max. cluster size ; bigger clusters will deconvoluted
virtual void FillCluster(AliMUONRawCluster *cluster, Int_t cath);
virtual void FillCluster(AliMUONRawCluster *cluster) {FillCluster(cluster,1,0);}
// Add a new raw cluster
- virtual void AddRawCluster(const AliMUONRawCluster cluster);
+ virtual void AddRawCluster(AliMUONRawCluster& cluster);
// Set tracks for debugging
virtual void SetTracks(Int_t t1, Int_t t2) {fTrack[0]=t1; fTrack[1]=t2;}
- virtual Bool_t TestTrack(Int_t t);
-// Assignment operator
- AliMUONClusterFinderVS & operator = (const AliMUONClusterFinderVS& rhs);
-// debug level
- void SetDebugLevel(Int_t level) {fDebugLevel = level;}
void SetGhostChi2Cut(Float_t cut) {fGhostChi2Cut = cut;}
+// get raw cluster pointer
+ TClonesArray* GetRawClusters() {return fRawClusters;}
+// reset raw clusters
+ void ResetRawClusters();
protected:
- AliMUONClusterInput* fInput; // ! AliMUONClusterInput instance
- AliMUONHitMapA1* fHitMap[2]; // Hit Maps for cathode 1 and 2
- AliSegmentation* fSeg[2]; // Segmentations for cathode 1 and 2
+ AliMUONClusterFinderVS(const AliMUONClusterFinderVS& clusterFinder);
+// Assignment operator
+ AliMUONClusterFinderVS & operator = (const AliMUONClusterFinderVS& rhs);
+
+ AliMUONClusterInput* fInput; // ! AliMUONClusterInput instance
+ AliMUONHitMapA1* fHitMap[2]; // Hit Maps for cathode 1 and 2
+ AliMUONGeometrySegmentation* fSeg2[2]; // New Segmentations for cathode 1 and 2
+
// Configuration
Int_t fDeclusterFlag; // flag for declusterin
Float_t fGhostChi2Cut; // Cut in charge matching chi2
// (2 degrees of freedom)
// Used by ghost removal
-// Current decluster result
+ // Current decluster result
Int_t fMul[2]; // current multiplicity
Int_t fNPeaks; // number of local maxima
Int_t fNRawClusters; // Number of Raw Clusters
-// Local data store
+ TClonesArray* fRawClusters; // array of cluster per ch.
+
+ // Local data store
AliMUONDigit* fDig[100][2]; // current list of digits
Int_t fIx[100][2]; // current list of x-pad-coord.
Int_t fIy[100][2]; // current list of y-pad-coord.
Float_t fZPlane; // currenz z-plane position
Int_t fSector; // current sector
-// Current Fit
+ // Current Fit
Double_t fXFit[2]; // x-coordinate
Double_t fYFit[2]; // y-coordinate
Double_t fQrFit[2]; // charge ratio
Float_t fQrInit[2]; // start values
Int_t fFitStat; // status of fit
-// Selected track for debugging
+ // Selected track for debugging
Int_t fTrack[2]; // Only digits with main contributions from these tracks are
- // considered
- Int_t fDebugLevel; // prinout control
-
-// Return pointer to raw clusters
- ClassDef(AliMUONClusterFinderVS,1) //Class for clustering and reconstruction of space points
-};
+ // considered
+
+ // Return pointer to raw clusters
+ ClassDef(AliMUONClusterFinderVS,2) //Class for clustering and reconstruction of space points
+ };
#endif