]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - MUON/AliMUONPreClusterFinder.h
Also get stuff from directories
[u/mrichter/AliRoot.git] / MUON / AliMUONPreClusterFinder.h
... / ...
CommitLineData
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
25class TStopwatch;
26class AliMUONPad;
27class TObjArray;
28
29class AliMUONPreClusterFinder : public AliMUONVClusterFinder
30{
31public:
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
45private:
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 virtual Bool_t ShouldAbort() const { return fShouldAbort; }
57
58 AliMUONCluster* NewCluster();
59 void RemoveCluster(AliMUONCluster* cluster);
60
61private:
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 ClassDef(AliMUONPreClusterFinder,4) // A basic pre-cluster finder
69};
70
71#endif