]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONPreClusterFinder.h
Copy of event header for delta-AOD on demand.
[u/mrichter/AliRoot.git] / MUON / AliMUONPreClusterFinder.h
1 #ifndef ALIMUONPRECLUSTERFINDER_H
2 #define ALIMUONPRECLUSTERFINDER_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 AliMUONPreClusterFinder
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 #ifndef ALI_MP_AREA_H
19 #  include "AliMpArea.h"
20 #endif
21
22 class TStopwatch;
23 class AliMUONPad;
24
25 class AliMUONPreClusterFinder : public AliMUONVClusterFinder
26 {
27 public:
28   AliMUONPreClusterFinder();
29   virtual ~AliMUONPreClusterFinder();
30   
31   using AliMUONVClusterFinder::Prepare;
32
33   virtual Bool_t Prepare(Int_t detElemId,
34                          TClonesArray* pads[2],
35                          const AliMpArea& area);
36   
37   virtual AliMUONCluster* NextCluster();
38
39   virtual Bool_t UsePad(const AliMUONPad& pad);
40   
41 private:
42   /// Not implemented
43   AliMUONPreClusterFinder(const AliMUONPreClusterFinder& rhs);
44   /// Not implemented
45   AliMUONPreClusterFinder& operator=(const AliMUONPreClusterFinder& rhs);
46
47   void AddPad(AliMUONCluster& cluster, AliMUONPad* pad);
48   
49   AliMUONPad* GetNextPad(Int_t cathode) const;
50
51   /// Whether we should stop working...
52   virtual Bool_t ShouldAbort() const { return fShouldAbort; }
53   
54 private:
55   TClonesArray* fClusters; //!< the clusters we've found (owner)
56   TClonesArray** fPads; //!< the pads corresponding to the digits (not owner)
57   Int_t fDetElemId; //!< which DE we're considering
58   AliMpArea fArea; //!< area into which to consider pads to *start* a cluster
59   Bool_t fShouldAbort; //!< to indicate clustering should stop right now
60   
61   ClassDef(AliMUONPreClusterFinder,3) // A basic pre-cluster finder
62 };
63
64 #endif