]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONClusterFinderVS.h
Updated comments for Doxygen
[u/mrichter/AliRoot.git] / MUON / AliMUONClusterFinderVS.h
index 8b11f07af6b092c4299d4463da8fc60cead1f813..aa405f6650a4b697e9bbe2beefd35ebde5330160 100644 (file)
@@ -4,18 +4,19 @@
  * See cxx source for full Copyright notice                               */
 
 /* $Id$ */
+// Revision of includes 07/05/2004
+
+/// \ingroup rec
+/// \class AliMUONClusterFinderVS
+/// \brief Class for clustering and reconstruction of space points
 
-////////////////////////////////////////////////
-//  MUON Cluster Finder Class                 //
-////////////////////////////////////////////////
 #include <TObject.h>
-#include "AliMUONHitMapA1.h"
-#include "AliMUONClusterInput.h"
-#include "TF1.h"
 
-class AliMUONResponse;
-class AliMUONSegmentation;
 class TClonesArray;
+
+class AliMUONClusterInput;
+class AliMUONDigitMapA1;
+class AliMUONGeometrySegmentation;
 class AliMUONRawCluster;
 class AliMUONDigit;
 
@@ -24,8 +25,7 @@ class AliMUONClusterFinderVS : public TObject
 {
  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
@@ -52,49 +52,68 @@ class AliMUONClusterFinderVS : public TObject
     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);
+    void SetGhostChi2Cut(Float_t cut) {fGhostChi2Cut = cut;}
+// get raw cluster pointer 
+    TClonesArray*  GetRawClusters() {return fRawClusters;}
+// reset raw clusters
+    void ResetRawClusters();
+
+ protected:
+    AliMUONClusterFinderVS(const AliMUONClusterFinderVS& clusterFinder);
 //  Assignment operator
     AliMUONClusterFinderVS & operator = (const AliMUONClusterFinderVS& rhs);
 
- protected:
-    AliMUONClusterInput*    fInput;              // AliMUONClusterInput instance
-    AliMUONHitMapA1*        fHitMap[2];          // Hit Map cathode 1
+    AliMUONClusterInput*          fInput;        //!< AliMUONClusterInput instance
+    AliMUONDigitMapA1*            fDigitMap[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
-    Int_t                   fClusterSize;        // cluster size 
-    Int_t                   fNperMax;            // Maximum number of pads per peak
-// 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    
-    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                 fX[100][2];          // current list of x-coord.
-    Float_t                 fY[100][2];          // current list of y-coord.
-    Int_t                   fIndLocal[100][2];   // indices of local maxima
-    Int_t                   fNLocal[2];          // Number of local maxima
-    Int_t                   fQ[100][2];          // current list of charges
-// Current Fit
-    Double_t                 fXFit[2];         // x-coordinate
-    Double_t                 fYFit[2];         // y-coordinate
-    Double_t                 fQrFit[2];        // charge ratio
-    Float_t                  fChi2[2];         // chi2 of fit
-    Float_t                  fXInit[2];        // start values
-    Float_t                  fYInit[2];        // start values
-    Float_t                  fQrInit[2];       // start values
-    Int_t                    fFitStat;         // status of fit
+    Int_t                   fDeclusterFlag;      ///< flag for declusterin
+    Int_t                   fClusterSize;        ///< cluster size 
+    Int_t                   fNperMax;            ///< Maximum number of pads per peak
+    Float_t                 fGhostChi2Cut;       ///< \brief Cut in charge matching chi2
+                                                /// (2 degrees of freedom)
+                                                 /// Used by ghost removal
+    // Current decluster result    
+    Int_t                   fMul[2];             ///< current multiplicity
+    Int_t                   fNPeaks;             ///< number of local maxima
+    Int_t                   fNRawClusters;       ///< Number of Raw Clusters
+    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                 fX[100][2];          ///< current list of x-coord.
+    Float_t                 fY[100][2];          ///< current list of y-coord.
+    Float_t                 fZ[100][2];          ///< current list of z-coord.
+    Int_t                   fIndLocal[100][2];   ///< indices of local maxima
+    Int_t                   fNLocal[2];          ///< Number of local maxima
+    Int_t                   fQ[100][2];          ///< current list of charges
+    Float_t                 fZPlane;             ///< currenz z-plane position
+    Int_t                   fSector;             ///< current sector
+    
+    // Current Fit
+    Double_t                 fXFit[2];         ///< x-coordinate
+    Double_t                 fYFit[2];         ///< y-coordinate
+    Double_t                 fQrFit[2];        ///< charge ratio
+    Float_t                  fChi2[2];         ///< chi2 of fit
+    Float_t                  fXInit[2];        ///< start values
+    Float_t                  fYInit[2];        ///< start values
+    Float_t                  fQrInit[2];       ///< start values
+    Int_t                    fFitStat;         ///< status of fit
+    
+    // Selected track for debugging
+    Int_t                    fTrack[2];        ///< Only digits with main contributions from these tracks are
+    // considered 
     
-// Selected track for debugging
-    Int_t                    fTrack[2];        // Only digits with main contributions from these tracks are
-                                               // considered 
-//  Return pointer to raw clusters    
-    ClassDef(AliMUONClusterFinderVS,1) //Class for clustering and reconstruction of space points
-};
+    //  Return pointer to raw clusters    
+    ClassDef(AliMUONClusterFinderVS,2) //Class for clustering and reconstruction of space points
+      };
 #endif