Alternative implementations of preclusterfinder (currently under test)
[u/mrichter/AliRoot.git] / MUON / AliMUONPreClusterFinderV2.h
1 #ifndef ALIMUONPRECLUSTERFINDERV2_H
2 #define ALIMUONPRECLUSTERFINDERV2_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice                               */
6
7 // $Id$
8
9 /// \ingroup rec
10 /// \class AliMUONPreClusterFinderV2
11 /// \brief A basic pre-cluster finder
12 /// 
13 // Author Laurent Aphecetche, Subatech
14
15 #ifndef AliMUONVCLUSTERFINDER_H
16 #  include "AliMUONVClusterFinder.h"
17 #endif
18
19 class TStopwatch;
20 class AliMUONPad;
21
22 class AliMUONPreClusterFinderV2 : public AliMUONVClusterFinder
23 {
24 public:
25   AliMUONPreClusterFinderV2();
26   virtual ~AliMUONPreClusterFinderV2();
27   
28   virtual Bool_t Prepare(const AliMpVSegmentation* segmentations[2],
29                          const AliMUONVDigitStore& digitStore);
30   
31   virtual AliMUONCluster* NextCluster();
32
33   virtual Bool_t UsePad(const AliMUONPad& pad);
34   
35 private:
36   /// Not implemented
37   AliMUONPreClusterFinderV2(const AliMUONPreClusterFinderV2& rhs);
38   /// Not implemented
39   AliMUONPreClusterFinderV2& operator=(const AliMUONPreClusterFinderV2& rhs);
40
41   void AddPad(AliMUONCluster& cluster, AliMUONPad* pad);
42   
43 private:
44   TClonesArray* fClusters; //!< the clusters we've found (owner)
45   const AliMpVSegmentation** fSegmentations; //!< segmentations (not owner)
46   TClonesArray* fPads[2]; //!< the pads corresponding to the digits (owner)
47   Int_t fDetElemId; //!< which DE we're considering
48   
49   ClassDef(AliMUONPreClusterFinderV2,1) // A basic pre-cluster finder
50 };
51
52 #endif