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