Line data Source code
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 : #ifndef ROOT_TClonesArray
22 : # include <TClonesArray.h>
23 : #endif
24 :
25 : class TStopwatch;
26 : class AliMUONPad;
27 : class TObjArray;
28 :
29 : class AliMUONPreClusterFinder : public AliMUONVClusterFinder
30 : {
31 : public:
32 : AliMUONPreClusterFinder();
33 : virtual ~AliMUONPreClusterFinder();
34 :
35 : using AliMUONVClusterFinder::Prepare;
36 :
37 : virtual Bool_t Prepare(Int_t detElemId,
38 : TObjArray* pads[2],
39 : const AliMpArea& area);
40 :
41 : virtual AliMUONCluster* NextCluster();
42 :
43 : virtual Bool_t UsePad(const AliMUONPad& pad);
44 :
45 : private:
46 : /// Not implemented
47 : AliMUONPreClusterFinder(const AliMUONPreClusterFinder& rhs);
48 : /// Not implemented
49 : AliMUONPreClusterFinder& operator=(const AliMUONPreClusterFinder& rhs);
50 :
51 : void AddPad(AliMUONCluster& cluster, AliMUONPad* pad);
52 :
53 : AliMUONPad* GetNextPad(Int_t cathode) const;
54 :
55 : /// Whether we should stop working...
56 1166 : virtual Bool_t ShouldAbort() const { return fShouldAbort; }
57 :
58 : AliMUONCluster* NewCluster();
59 : void RemoveCluster(AliMUONCluster* cluster);
60 :
61 : private:
62 : TClonesArray fClusters; //!<! the clusters we've found (owner)
63 : TObjArray** fPads; //!<! the pads corresponding to the digits (not owner)
64 : Int_t fDetElemId; //!<! which DE we're considering
65 : AliMpArea fArea; //!<! area into which to consider pads to *start* a cluster
66 : Bool_t fShouldAbort; //!<! to indicate clustering should stop right now
67 :
68 18 : ClassDef(AliMUONPreClusterFinder,4) // A basic pre-cluster finder
69 : };
70 :
71 : #endif
|