]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONVClusterFinder.h
- FF task: switch for analysis of jets with max track
[u/mrichter/AliRoot.git] / MUON / AliMUONVClusterFinder.h
index 3015738fa786956a5be9743c93d5db7ea00d1596..7e4f7db007d7c0dcce3b8eeaea722ae6f12e6ef8 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 AliMUONPad;
-class AliMUONVDigitStore;
+class AliMpArea;
 
 class AliMUONVClusterFinder : public TObject
 {
@@ -28,8 +29,17 @@ public:
   virtual ~AliMUONVClusterFinder();
   
   /// \todo add comment
-  virtual Bool_t Prepare(const AliMpVSegmentation* segmentations[2],
-                         const AliMUONVDigitStore& digitStore) = 0;
+
+  virtual Bool_t NeedSegmentation() const { return kFALSE; }
+  
+  virtual Bool_t Prepare(Int_t detElemId,
+                         TObjArray* pads[2],
+                         const AliMpArea& area);
+
+  virtual Bool_t Prepare(Int_t detElemId,
+                         TObjArray* 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.
 };