]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONVClusterFinder.h
Remove TClonesArray deletions (Philippe Pillot)
[u/mrichter/AliRoot.git] / MUON / AliMUONVClusterFinder.h
index adae074d14375f9edbe361d48a565186935b769b..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 TClonesArray;
 class AliMUONPad;
+class AliMpArea;
 
 class AliMUONVClusterFinder : public TObject
 {
@@ -27,9 +28,20 @@ public:
   AliMUONVClusterFinder();
   virtual ~AliMUONVClusterFinder();
   
-  virtual Bool_t Prepare(const AliMpVSegmentation* segmentations[2],
-                         TClonesArray* digits[2]) = 0;
+  /// \todo add comment
+
+  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;
   
   /** Add a pad to the list of pads to be considered for clustering.
@@ -41,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.
 };