4f8c01d65db49c2c105659699737c9d30ae21ccc
[u/mrichter/AliRoot.git] / MUON / AliMUONClusterReconstructor.h
1 #ifndef ALIMUONCLUSTERRECONSTRUCTOR_H
2 #define ALIMUONCLUSTERRECONSTRUCTOR_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /*$Id$*/
7 // Revision of includes 07/05/2004
8
9 /// \ingroup rec
10 /// \class AliMUONClusterReconstructor
11 /// \brief Steering class for clusterizing MUON tracking chambers
12
13 #include <TObject.h>
14
15 class AliMUONVClusterFinder;
16 class AliMUONGeometryTransformer;
17 class AliMUONVClusterStore;
18 class AliMUONVDigitStore;
19 class AliMUONRawCluster;
20
21 class AliMUONClusterReconstructor : public TObject 
22 {
23  public:
24   AliMUONClusterReconstructor(AliMUONVClusterFinder* finder = 0x0,
25                               const AliMUONGeometryTransformer* transformer = 0x0
26                               ); 
27
28   virtual ~AliMUONClusterReconstructor(void); // Destructor
29
30  
31   // Cluster Finding 
32   virtual void Digits2Clusters(const AliMUONVDigitStore& digitStore, AliMUONVClusterStore& clusterStore);
33   
34  protected:
35   /// Not implemented
36   AliMUONClusterReconstructor (const AliMUONClusterReconstructor& rhs); // copy constructor
37   /// Not implemented
38   AliMUONClusterReconstructor& operator=(const AliMUONClusterReconstructor& rhs); // assignment operator
39
40   void ClusterizeOneDE(Int_t detElemId, const AliMUONVDigitStore& digitStore);
41
42 private:
43   AliMUONVClusterFinder* fClusterFinder; //!< the object doing the real clustering job (not owner)  
44
45   const AliMUONGeometryTransformer* fTransformer; //!< to go from local to global (not owner)
46   
47   AliMUONVClusterStore* fClusterStore; //!< not owner
48   
49   ClassDef(AliMUONClusterReconstructor,0) // Clustering steering
50 };
51         
52 #endif