]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONVClusterFinder.h
Changes to be in sync with what we have in the OCDB
[u/mrichter/AliRoot.git] / MUON / AliMUONVClusterFinder.h
CommitLineData
5e185331 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
c25af45b 10/// \class AliMUONVClusterFinder
5e185331 11/// \brief Interface of a cluster finder.
12///
13// Author Laurent Aphecetche
14
15#ifndef ROOT_TObject
16# include "TObject.h"
17#endif
18
19class AliMUONCluster;
110edb51 20class AliMUONRecoParam;
5e185331 21class AliMpVSegmentation;
5e185331 22class AliMUONPad;
24935e58 23class AliMpArea;
5e185331 24
25class AliMUONVClusterFinder : public TObject
26{
27public:
28 AliMUONVClusterFinder();
29 virtual ~AliMUONVClusterFinder();
30
71a2d3aa 31 /// \todo add comment
24935e58 32
33 virtual Bool_t NeedSegmentation() const { return kFALSE; }
34
35 virtual Bool_t Prepare(Int_t detElemId,
9e41a340 36 TObjArray* pads[2],
24935e58 37 const AliMpArea& area);
38
39 virtual Bool_t Prepare(Int_t detElemId,
9e41a340 40 TObjArray* pads[2],
24935e58 41 const AliMpArea& area,
42 const AliMpVSegmentation* segmentations[2]);
5e185331 43
71a2d3aa 44 /// \todo add comment
5e185331 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
110edb51 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 virtual void SetChargeHints(Double_t /*lowestPadCharge*/, Double_t /*lowestClusterCharge*/) { }
61
5e185331 62 ClassDef(AliMUONVClusterFinder,0) // Interface of a MUON cluster finder.
63};
64
65#endif