Line data Source code
1 : #ifndef ALIMUONVCLUSTERFINDER_H
2 : #define ALIMUONVCLUSTERFINDER_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 AliMUONVClusterFinder
11 : /// \brief Interface of a cluster finder.
12 : ///
13 : // Author Laurent Aphecetche
14 :
15 : #ifndef ROOT_TObject
16 : # include "TObject.h"
17 : #endif
18 :
19 : class AliMUONCluster;
20 : class AliMUONRecoParam;
21 : class AliMpVSegmentation;
22 : class AliMUONPad;
23 : class AliMpArea;
24 :
25 0 : class AliMUONVClusterFinder : public TObject
26 : {
27 : public:
28 : AliMUONVClusterFinder();
29 : virtual ~AliMUONVClusterFinder();
30 :
31 : /// \todo add comment
32 :
33 288 : virtual Bool_t NeedSegmentation() const { return kFALSE; }
34 :
35 : virtual Bool_t Prepare(Int_t detElemId,
36 : TObjArray* pads[2],
37 : const AliMpArea& area);
38 :
39 : virtual Bool_t Prepare(Int_t detElemId,
40 : TObjArray* pads[2],
41 : const AliMpArea& area,
42 : const AliMpVSegmentation* segmentations[2]);
43 :
44 : /// \todo add comment
45 : virtual AliMUONCluster* NextCluster() = 0;
46 :
47 : /** Add a pad to the list of pads to be considered for clustering.
48 : Typical usage is to "put-back-in-business" a pad that was part
49 : of a previous cluster (returned by NextCluster) but was externally
50 : identified of not being part of that cluster, so it must be reuseable.
51 : Might not be implemented by all cluster finders...
52 : (in which case it must returns kFALSE)
53 : */
54 : virtual Bool_t UsePad(const AliMUONPad& pad);
55 :
56 : /** Specify a couple of charge hints. We call them hints because some
57 : clustering need them and use them directly, other cook them before
58 : using them, and some others yet simply don't care about them.
59 : */
60 0 : virtual void SetChargeHints(Double_t /*lowestPadCharge*/, Double_t /*lowestClusterCharge*/) { }
61 :
62 18 : ClassDef(AliMUONVClusterFinder,0) // Interface of a MUON cluster finder.
63 : };
64 :
65 : #endif
|