]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONVClusterFinder.h
Warnings corrected.
[u/mrichter/AliRoot.git] / MUON / AliMUONVClusterFinder.h
index d2d3d78d5780ccf2f6606f62294f57a526fada79..9d0aeab61d38ad334621debb2e0f75b22a625c55 100644 (file)
@@ -7,7 +7,7 @@
 // $Id$
 
 /// \ingroup rec
-/// \class AliMUONClusterFinder
+/// \class AliMUONVClusterFinder
 /// \brief Interface of a cluster finder.
 /// 
 //  Author Laurent Aphecetche
 #endif
 
 class AliMUONCluster;
+class AliMUONRecoParam;
 class AliMpVSegmentation;
-class TClonesArray;
 class AliMUONPad;
+class AliMpArea;
 
 class AliMUONVClusterFinder : public TObject
 {
@@ -28,8 +29,17 @@ public:
   virtual ~AliMUONVClusterFinder();
   
   /// \todo add comment
-  virtual Bool_t Prepare(const AliMpVSegmentation* segmentations[2],
-                         TClonesArray* digits[2]) = 0;
+
+  virtual Bool_t NeedSegmentation() const { return kFALSE; }
+  
+  virtual Bool_t Prepare(Int_t detElemId,
+                         TClonesArray* pads[2],
+                         const AliMpArea& area);
+
+  virtual Bool_t Prepare(Int_t detElemId,
+                         TClonesArray* pads[2],
+                         const AliMpArea& area,
+                         const AliMpVSegmentation* segmentations[2]);  
   
   /// \todo add comment
   virtual AliMUONCluster* NextCluster() = 0;
@@ -43,6 +53,12 @@ public:
     */
   virtual Bool_t UsePad(const AliMUONPad& pad);
   
+  /** Specify a couple of charge hints. We call them hints because some
+   clustering need them and use them directly, other cook them before
+   using them, and some others yet simply don't care about them.
+   */
+  virtual void SetChargeHints(Double_t /*lowestPadCharge*/, Double_t /*lowestClusterCharge*/) { }
+  
   ClassDef(AliMUONVClusterFinder,0) // Interface of a MUON cluster finder.
 };