#ifndef AliMUONVCLUSTERFINDER_H
# include "AliMUONVClusterFinder.h"
#endif
+#ifndef ALI_MP_AREA_H
+# include "AliMpArea.h"
+#endif
class TStopwatch;
class AliMUONPad;
AliMUONPreClusterFinder();
virtual ~AliMUONPreClusterFinder();
- virtual Bool_t Prepare(const AliMpVSegmentation* segmentations[2],
- const AliMUONVDigitStore& digitStore);
+ using AliMUONVClusterFinder::Prepare;
+
+ virtual Bool_t Prepare(Int_t detElemId,
+ TClonesArray* pads[2],
+ const AliMpArea& area);
virtual AliMUONCluster* NextCluster();
void AddPad(AliMUONCluster& cluster, AliMUONPad* pad);
+ AliMUONPad* GetNextPad(Int_t cathode) const;
+
+ /// Whether we should stop working...
+ virtual Bool_t ShouldAbort() const { return fShouldAbort; }
+
private:
TClonesArray* fClusters; //!< the clusters we've found (owner)
- const AliMpVSegmentation** fSegmentations; //!< segmentations (not owner)
- TClonesArray* fPads[2]; //!< the pads corresponding to the digits (owner)
+ TClonesArray** fPads; //!< the pads corresponding to the digits (not owner)
Int_t fDetElemId; //!< which DE we're considering
+ AliMpArea fArea; //!< area into which to consider pads to *start* a cluster
+ Bool_t fShouldAbort; //!< to indicate clustering should stop right now
- ClassDef(AliMUONPreClusterFinder,1) // A basic pre-cluster finder
+ ClassDef(AliMUONPreClusterFinder,3) // A basic pre-cluster finder
};
#endif