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