1) New class "AliMUONRefitter" to:
[u/mrichter/AliRoot.git] / MUON / AliMUONSimpleClusterServer.h
1 #ifndef ALIMUONSIMPLECLUSTERSERVER_H
2 #define ALIMUONSIMPLECLUSTERSERVER_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 reco
10 /// \class AliMUONSimpleClusterServer
11 /// \brief Implementation of AliMUONVClusterServer interface
12 /// 
13 // Author Laurent Aphecetche, Subatech
14
15 #ifndef ALIMUONVCLUSTERSERVER_H
16 #  include "AliMUONVClusterServer.h"
17 #endif
18
19 class AliMUONVClusterFinder;
20 class AliMUONGeometryTransformer;
21 class AliMpExMap;
22 class AliESDMuonPad;
23 class TClonesArray;
24
25 class AliMUONSimpleClusterServer : public AliMUONVClusterServer
26 {
27 public:
28   AliMUONSimpleClusterServer(AliMUONVClusterFinder& clusterFinder,
29                              const AliMUONGeometryTransformer& transformer);
30   
31   virtual ~AliMUONSimpleClusterServer();
32   
33   Int_t Clusterize(Int_t chamberId,
34                    AliMUONVClusterStore& clusterStore,
35                    const AliMpArea& area);
36   
37   void UseDigits(TIter& next);
38   
39   void Print(Option_t* opt="") const;
40   
41 private:
42   /// Not implemented
43   AliMUONSimpleClusterServer(const AliMUONSimpleClusterServer& rhs);
44   /// Not implemented
45   AliMUONSimpleClusterServer& operator=(const AliMUONSimpleClusterServer& rhs);
46   
47   Bool_t Overlap(Int_t detElemId, const AliMpArea& area, AliMpArea& deArea) const;
48     
49   void Global2Local(Int_t detElemId, const AliMpArea& globalArea, AliMpArea& localArea) const;
50
51   TClonesArray* PadArray(Int_t detElemId, Int_t cathode) const;
52   
53 private:
54   AliMUONVClusterFinder& fClusterFinder; //!< the cluster finder (owner)
55   const AliMUONGeometryTransformer& fTransformer; //!< the geometry transformer (not owner)
56   AliMpExMap* fPads[2]; ///< map of TClonesArray of AliMUONPads
57   AliMpExMap* fDEAreas; ///< map of detection element areas in global coordinates
58   
59   ClassDef(AliMUONSimpleClusterServer,0) // Cluster server
60 };
61
62 #endif