remoe duplicate QA initialisation and do ESD QA for same detectors as RecPoint QA
[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 AliESDMuonPad;
20 class AliMUONGeometryTransformer;
21 class AliMUONTriggerTrackToTrackerClusters;
22 class AliMUONVClusterFinder;
23 class AliMpExMap;
24 class TClonesArray;
25
26 class AliMUONSimpleClusterServer : public AliMUONVClusterServer
27 {
28 public:
29   AliMUONSimpleClusterServer(AliMUONVClusterFinder* clusterFinder,
30                              const AliMUONGeometryTransformer& transformer);
31   
32   virtual ~AliMUONSimpleClusterServer();
33   
34   Int_t Clusterize(Int_t chamberId,
35                    AliMUONVClusterStore& clusterStore,
36                    const AliMpArea& area);
37   
38   void UseDigits(TIter& next);
39   
40   void Print(Option_t* opt="") const;
41
42   /// Use trigger tracks. Return kFALSE if not used.
43   virtual Bool_t UseTriggerTrackStore(AliMUONVTriggerTrackStore* trackStore);
44
45 private:
46   /// Not implemented
47   AliMUONSimpleClusterServer(const AliMUONSimpleClusterServer& rhs);
48   /// Not implemented
49   AliMUONSimpleClusterServer& operator=(const AliMUONSimpleClusterServer& rhs);
50   
51   Bool_t Overlap(Int_t detElemId, const AliMpArea& area, AliMpArea& deArea) const;
52     
53   void Global2Local(Int_t detElemId, const AliMpArea& globalArea, AliMpArea& localArea) const;
54
55   TClonesArray* PadArray(Int_t detElemId, Int_t cathode) const;
56   
57 private:
58   AliMUONVClusterFinder* fClusterFinder; //!< the cluster finder (owner)
59   const AliMUONGeometryTransformer& fTransformer; //!< the geometry transformer (not owner)
60   AliMpExMap* fPads[2]; ///< map of TClonesArray of AliMUONPads
61   AliMUONVTriggerTrackStore* fTriggerTrackStore; ///< trigger track store (if bypassing of St45 was requested) (not owner)
62   AliMUONTriggerTrackToTrackerClusters* fBypass; ///< to convert trigger track into tracker clusters (owner)
63   
64   ClassDef(AliMUONSimpleClusterServer,0) // Cluster server
65 };
66
67 #endif