// $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
{
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;
*/
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.
};