1 #ifndef ALIMUONPRECLUSTERFINDERV3_H
2 #define ALIMUONPRECLUSTERFINDERV3_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 /// \class AliMUONPreClusterFinderV3
11 /// \brief A basic pre-cluster finder
13 // Author Laurent Aphecetche, Subatech
15 #ifndef AliMUONVCLUSTERFINDER_H
16 # include "AliMUONVClusterFinder.h"
22 class AliMUONPreClusterFinderV3 : public AliMUONVClusterFinder
25 AliMUONPreClusterFinderV3();
26 virtual ~AliMUONPreClusterFinderV3();
28 virtual Bool_t NeedSegmentation() const { return kTRUE; }
30 using AliMUONVClusterFinder::Prepare;
32 virtual Bool_t Prepare(Int_t detElemId,
34 const AliMpArea& area,
35 const AliMpVSegmentation* seg[2]);
37 virtual AliMUONCluster* NextCluster();
39 virtual Bool_t UsePad(const AliMUONPad& pad);
43 AliMUONPreClusterFinderV3(const AliMUONPreClusterFinderV3& rhs);
45 AliMUONPreClusterFinderV3& operator=(const AliMUONPreClusterFinderV3& rhs);
47 void AddPad(AliMUONCluster& cluster, AliMUONPad* pad);
48 void AddPreCluster(AliMUONCluster& cluster, AliMUONCluster* preCluster);
49 void MakeCathodePreClusters(Int_t cathode);
52 void DumpPreClusters() const;
55 TClonesArray* fClusters; //!< the clusters we've found (owner)
56 const AliMpVSegmentation** fkSegmentations; //!< segmentations (not owner)
57 TObjArray** fPads; //!< the pads corresponding to the digits (not owner)
58 TClonesArray* fPreClusters[2]; //!< the preclusters per cathode (owner)
59 Int_t fDetElemId; //!< which DE we're considering
60 TIterator* fIterator; //!< iterator on fClusters
62 ClassDef(AliMUONPreClusterFinderV3,2) // A basic pre-cluster finder