]>
Commit | Line | Data |
---|---|---|
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 rec | |
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 AliMUONGeometryTransformer; | |
20 | class AliMUONTriggerTrackToTrackerClusters; | |
21 | class AliMUONVClusterFinder; | |
22 | class AliMUONCluster; | |
23 | class AliMpVSegmentation; | |
24 | class AliMpExMap; | |
25 | class AliMpExMapIterator; | |
26 | class TClonesArray; | |
27 | ||
28 | class AliMUONSimpleClusterServer : public AliMUONVClusterServer | |
29 | { | |
30 | public: | |
31 | AliMUONSimpleClusterServer(AliMUONVClusterFinder* clusterFinder, | |
32 | const AliMUONGeometryTransformer& transformer); | |
33 | ||
34 | virtual ~AliMUONSimpleClusterServer(); | |
35 | ||
36 | Int_t Clusterize(Int_t chamberId, | |
37 | AliMUONVClusterStore& clusterStore, | |
38 | const AliMpArea& area, | |
39 | const AliMUONRecoParam* recoParam = 0x0); | |
40 | ||
41 | void UseDigits(TIter& next, AliMUONVDigitStore* digitStore = 0x0); | |
42 | ||
43 | void Print(Option_t* opt="") const; | |
44 | ||
45 | /// Use trigger tracks. Return kFALSE if not used. | |
46 | virtual Bool_t UseTriggerTrackStore(AliMUONVTriggerTrackStore* trackStore); | |
47 | ||
48 | private: | |
49 | /// Not implemented | |
50 | AliMUONSimpleClusterServer(const AliMUONSimpleClusterServer& rhs); | |
51 | /// Not implemented | |
52 | AliMUONSimpleClusterServer& operator=(const AliMUONSimpleClusterServer& rhs); | |
53 | ||
54 | Bool_t Overlap(Int_t detElemId, const AliMpArea& area, AliMpArea& deArea) const; | |
55 | ||
56 | void Global2Local(Int_t detElemId, const AliMpArea& globalArea, AliMpArea& localArea) const; | |
57 | ||
58 | TObjArray* PadArray(Int_t detElemId, Int_t cathode) const; | |
59 | ||
60 | Int_t FindMCLabel(const AliMUONCluster& cluster, Int_t detElemId, const AliMpVSegmentation* seg[2]) const; | |
61 | ||
62 | private: | |
63 | AliMUONVDigitStore* fDigitStore; //!< the digit store (not owner) | |
64 | AliMUONVClusterFinder* fClusterFinder; //!< the cluster finder (owner) | |
65 | const AliMUONGeometryTransformer& fkTransformer; //!< the geometry transformer (not owner) | |
66 | AliMpExMap* fPads[2]; ///< map of TClonesArray of AliMUONPads | |
67 | AliMpExMapIterator* fPadsIterator[2]; ///< iterator for the map of TClonesArray of AliMUONPads | |
68 | AliMUONVTriggerTrackStore* fTriggerTrackStore; ///< trigger track store (if bypassing of St45 was requested) (not owner) | |
69 | AliMUONTriggerTrackToTrackerClusters* fBypass; ///< to convert trigger track into tracker clusters (owner) | |
70 | ||
71 | ClassDef(AliMUONSimpleClusterServer,0) // Cluster server | |
72 | }; | |
73 | ||
74 | #endif |